`ifndef UDLY
`define UDLY 1
`endif
module fft__6(
  fft_cfg__start,
  sram__0__valid,
  sram__0__ready,
  sram__0__we_n,
  sram__0__addr,
  sram__0__wdata,
  sram__0__rdata,
  instr_sram__valid,
  instr_sram__ready,
  instr_sram__we_n,
  instr_sram__addr,
  instr_sram__wdata,
  instr_sram__rdata,
  exp_sram__valid,
  exp_sram__ready,
  exp_sram__we_n,
  exp_sram__addr,
  exp_sram__wdata,
  exp_sram__rdata,
  clk,
  rstn
);
//parameter declare
//port declare
input fft_cfg__start;
output sram__0__valid;
input sram__0__ready;
output sram__0__we_n;
output [31:0] sram__0__addr;
output [63:0] sram__0__wdata;
input [63:0] sram__0__rdata;
output instr_sram__valid;
input instr_sram__ready;
output instr_sram__we_n;
output [31:0] instr_sram__addr;
output [63:0] instr_sram__wdata;
input [15:0] instr_sram__rdata;
output exp_sram__valid;
input exp_sram__ready;
output exp_sram__we_n;
output [31:0] exp_sram__addr;
output [63:0] exp_sram__wdata;
input [63:0] exp_sram__rdata;
input clk;
input rstn;
//channel declare
//wire declare
logic __t_43;
logic __t_44;
logic __t_45;
logic [31:0] __t_46;
logic [31:0] __t_47;
logic __rd_valid_49;
logic __rd_ready_50;
logic __rd_grant_51;
logic [31:0] __rd_even_addr_52;
logic [31:0] __rd_odd_addr_54;
logic [63:0] __rd_odd_data_55;
logic __wr_valid_56;
logic __wr_ready_57;
logic __wr_grant_58;
logic [31:0] __wr_even_addr_59;
logic [63:0] __wr_add_data_60;
logic [31:0] __wr_odd_addr_61;
logic __fft_end_64;
logic __fetch_instr_enable_65;
logic __fft_calc_grant_71;
logic [3:0] __op_code_82;
logic [1:0] __cell_num_83;
logic [9:0] __immed_84;
logic __set_addr_85;
logic __get_exp_86;
logic __fft_calc_87;
logic __calc_end_88;
logic __set_space_addr_89;
logic __set_step_addr_90;
logic __pip_en_111;
logic __pip_en_112;
logic __pip_en_113;
logic __pip_en_114;
logic __sram_valid_115;
logic __sram_ready_116;
logic __we_n_117;
logic [31:0] __waddr_118;
logic [63:0] __wdata_119;
logic [63:0] __rdata_120;
logic __rd_even_data_ready_133;
logic __rd_odd_data_ready_134;
logic __wr_add_data_ready_135;
logic __wr_sub_data_ready_136;
logic [63:0] __out_add_143;
logic [63:0] __out_sub_144;
logic [63:0] __t_145;
logic [63:0] __e_146;
logic [31:0] __m_1_real_147;
logic [31:0] __m_2_real_148;
logic [31:0] __m_1_imag_149;
logic [31:0] __m_2_imag_150;
logic [31:0] __prod_real_151;
logic [31:0] __prod_imag_152;
logic [31:0] __real_x_real_153;
logic [31:0] __real_x_imag_154;
logic [31:0] __imag_x_real_155;
logic [31:0] __imag_x_imag_156;
logic __overflow_1_158;
logic __overflow_2_159;
logic __overflow_3_160;
logic __overflow_4_161;
logic __result_sign_162;
logic [8:0] __result_exp_163;
logic [8:0] __exp_add1_164;
logic [47:0] __result_factor_165;
logic [22:0] __valid_factor_norm_166;
logic [22:0] __valid_factor_shift_167;
logic __result_sign_169;
logic [8:0] __result_exp_170;
logic [8:0] __exp_add1_171;
logic [47:0] __result_factor_172;
logic [22:0] __valid_factor_norm_173;
logic [22:0] __valid_factor_shift_174;
logic __result_sign_176;
logic [8:0] __result_exp_177;
logic [8:0] __exp_add1_178;
logic [47:0] __result_factor_179;
logic [22:0] __valid_factor_norm_180;
logic [22:0] __valid_factor_shift_181;
logic __result_sign_183;
logic [8:0] __result_exp_184;
logic [8:0] __exp_add1_185;
logic [47:0] __result_factor_186;
logic [22:0] __valid_factor_norm_187;
logic [22:0] __valid_factor_shift_188;
logic [31:0] __neg_imag_x_imag_190;
logic [31:0] __result_191;
logic __sign_193;
logic [7:0] __expn_194;
logic [7:0] __expn_d_195;
logic [23:0] __mant_196;
logic [26:0] __mant_sft_197;
logic [26:0] __mant_sgn_198;
logic __sign_199;
logic [7:0] __expn_200;
logic [7:0] __expn_d_201;
logic [23:0] __mant_202;
logic [26:0] __mant_sft_203;
logic [26:0] __mant_sgn_204;
logic [1:0] __norms_205;
logic [7:0] __expn_aln_206;
logic [7:0] __shift_num_207;
logic __cond_208;
logic __cond_209;
logic __cond_210;
logic __cond_211;
logic __cond_212;
logic __cond_213;
logic __cond_214;
logic __cond_215;
logic __cond_216;
logic __cond_217;
logic __cond_218;
logic __cond_219;
logic __cond_220;
logic __cond_221;
logic __cond_222;
logic __cond_223;
logic __cond_224;
logic __cond_225;
logic __cond_226;
logic __cond_227;
logic __cond_228;
logic __cond_229;
logic __cond_230;
logic __cond_231;
logic [7:0] __shift_num_232;
logic __cond_233;
logic __cond_234;
logic __cond_235;
logic __cond_236;
logic __cond_237;
logic __cond_238;
logic __cond_239;
logic __cond_240;
logic __cond_241;
logic __cond_242;
logic __cond_243;
logic __cond_244;
logic __cond_245;
logic __cond_246;
logic __cond_247;
logic __cond_248;
logic __cond_249;
logic __cond_250;
logic __cond_251;
logic __cond_252;
logic __cond_253;
logic __cond_254;
logic __cond_255;
logic __cond_256;
logic [8:0] __expn_dif_257;
logic [7:0] __expn_10r_258;
logic [26:0] __mant_10_259;
logic [25:0] __mant_10_abs_260;
logic [48:0] __mant_padded_261;
logic [4:0] __lead_zeros_262;
logic __all_zero_263;
logic [9:0] __expn_sft_264;
logic __sum_sign_265;
logic [7:0] __sum_expn_266;
logic [22:0] __sum_mant_267;
logic __cond_268;
logic __cond_269;
logic __cond_270;
logic __cond_271;
logic __cond_272;
logic __cond_273;
logic __cond_274;
logic __cond_275;
logic __cond_276;
logic __cond_277;
logic __cond_278;
logic __cond_279;
logic __cond_280;
logic __cond_281;
logic __cond_282;
logic __cond_283;
logic __cond_284;
logic __cond_285;
logic __cond_286;
logic __cond_287;
logic __cond_288;
logic __cond_289;
logic __cond_290;
logic __cond_291;
logic __cond_292;
logic __cond_293;
logic [31:0] __result_294;
logic __sign_296;
logic [7:0] __expn_297;
logic [7:0] __expn_d_298;
logic [23:0] __mant_299;
logic [26:0] __mant_sft_300;
logic [26:0] __mant_sgn_301;
logic __sign_302;
logic [7:0] __expn_303;
logic [7:0] __expn_d_304;
logic [23:0] __mant_305;
logic [26:0] __mant_sft_306;
logic [26:0] __mant_sgn_307;
logic [1:0] __norms_308;
logic [7:0] __expn_aln_309;
logic [7:0] __shift_num_310;
logic __cond_311;
logic __cond_312;
logic __cond_313;
logic __cond_314;
logic __cond_315;
logic __cond_316;
logic __cond_317;
logic __cond_318;
logic __cond_319;
logic __cond_320;
logic __cond_321;
logic __cond_322;
logic __cond_323;
logic __cond_324;
logic __cond_325;
logic __cond_326;
logic __cond_327;
logic __cond_328;
logic __cond_329;
logic __cond_330;
logic __cond_331;
logic __cond_332;
logic __cond_333;
logic __cond_334;
logic [7:0] __shift_num_335;
logic __cond_336;
logic __cond_337;
logic __cond_338;
logic __cond_339;
logic __cond_340;
logic __cond_341;
logic __cond_342;
logic __cond_343;
logic __cond_344;
logic __cond_345;
logic __cond_346;
logic __cond_347;
logic __cond_348;
logic __cond_349;
logic __cond_350;
logic __cond_351;
logic __cond_352;
logic __cond_353;
logic __cond_354;
logic __cond_355;
logic __cond_356;
logic __cond_357;
logic __cond_358;
logic __cond_359;
logic [8:0] __expn_dif_360;
logic [7:0] __expn_10r_361;
logic [26:0] __mant_10_362;
logic [25:0] __mant_10_abs_363;
logic [48:0] __mant_padded_364;
logic [4:0] __lead_zeros_365;
logic __all_zero_366;
logic [9:0] __expn_sft_367;
logic __sum_sign_368;
logic [7:0] __sum_expn_369;
logic [22:0] __sum_mant_370;
logic __cond_371;
logic __cond_372;
logic __cond_373;
logic __cond_374;
logic __cond_375;
logic __cond_376;
logic __cond_377;
logic __cond_378;
logic __cond_379;
logic __cond_380;
logic __cond_381;
logic __cond_382;
logic __cond_383;
logic __cond_384;
logic __cond_385;
logic __cond_386;
logic __cond_387;
logic __cond_388;
logic __cond_389;
logic __cond_390;
logic __cond_391;
logic __cond_392;
logic __cond_393;
logic __cond_394;
logic __cond_395;
logic __cond_396;
logic [63:0] __neg_e_397;
logic [31:0] __a_1_real_398;
logic [31:0] __a_1_imag_399;
logic [31:0] __a_2_real_400;
logic [31:0] __a_2_imag_401;
logic [31:0] __sum_real_402;
logic [31:0] __sum_imag_403;
logic [31:0] __result_405;
logic __sign_407;
logic [7:0] __expn_408;
logic [7:0] __expn_d_409;
logic [23:0] __mant_410;
logic [26:0] __mant_sft_411;
logic [26:0] __mant_sgn_412;
logic __sign_413;
logic [7:0] __expn_414;
logic [7:0] __expn_d_415;
logic [23:0] __mant_416;
logic [26:0] __mant_sft_417;
logic [26:0] __mant_sgn_418;
logic [1:0] __norms_419;
logic [7:0] __expn_aln_420;
logic [7:0] __shift_num_421;
logic __cond_422;
logic __cond_423;
logic __cond_424;
logic __cond_425;
logic __cond_426;
logic __cond_427;
logic __cond_428;
logic __cond_429;
logic __cond_430;
logic __cond_431;
logic __cond_432;
logic __cond_433;
logic __cond_434;
logic __cond_435;
logic __cond_436;
logic __cond_437;
logic __cond_438;
logic __cond_439;
logic __cond_440;
logic __cond_441;
logic __cond_442;
logic __cond_443;
logic __cond_444;
logic __cond_445;
logic [7:0] __shift_num_446;
logic __cond_447;
logic __cond_448;
logic __cond_449;
logic __cond_450;
logic __cond_451;
logic __cond_452;
logic __cond_453;
logic __cond_454;
logic __cond_455;
logic __cond_456;
logic __cond_457;
logic __cond_458;
logic __cond_459;
logic __cond_460;
logic __cond_461;
logic __cond_462;
logic __cond_463;
logic __cond_464;
logic __cond_465;
logic __cond_466;
logic __cond_467;
logic __cond_468;
logic __cond_469;
logic __cond_470;
logic [8:0] __expn_dif_471;
logic [7:0] __expn_10r_472;
logic [26:0] __mant_10_473;
logic [25:0] __mant_10_abs_474;
logic [48:0] __mant_padded_475;
logic [4:0] __lead_zeros_476;
logic __all_zero_477;
logic [9:0] __expn_sft_478;
logic __sum_sign_479;
logic [7:0] __sum_expn_480;
logic [22:0] __sum_mant_481;
logic __cond_482;
logic __cond_483;
logic __cond_484;
logic __cond_485;
logic __cond_486;
logic __cond_487;
logic __cond_488;
logic __cond_489;
logic __cond_490;
logic __cond_491;
logic __cond_492;
logic __cond_493;
logic __cond_494;
logic __cond_495;
logic __cond_496;
logic __cond_497;
logic __cond_498;
logic __cond_499;
logic __cond_500;
logic __cond_501;
logic __cond_502;
logic __cond_503;
logic __cond_504;
logic __cond_505;
logic __cond_506;
logic __cond_507;
logic [31:0] __result_508;
logic __sign_510;
logic [7:0] __expn_511;
logic [7:0] __expn_d_512;
logic [23:0] __mant_513;
logic [26:0] __mant_sft_514;
logic [26:0] __mant_sgn_515;
logic __sign_516;
logic [7:0] __expn_517;
logic [7:0] __expn_d_518;
logic [23:0] __mant_519;
logic [26:0] __mant_sft_520;
logic [26:0] __mant_sgn_521;
logic [1:0] __norms_522;
logic [7:0] __expn_aln_523;
logic [7:0] __shift_num_524;
logic __cond_525;
logic __cond_526;
logic __cond_527;
logic __cond_528;
logic __cond_529;
logic __cond_530;
logic __cond_531;
logic __cond_532;
logic __cond_533;
logic __cond_534;
logic __cond_535;
logic __cond_536;
logic __cond_537;
logic __cond_538;
logic __cond_539;
logic __cond_540;
logic __cond_541;
logic __cond_542;
logic __cond_543;
logic __cond_544;
logic __cond_545;
logic __cond_546;
logic __cond_547;
logic __cond_548;
logic [7:0] __shift_num_549;
logic __cond_550;
logic __cond_551;
logic __cond_552;
logic __cond_553;
logic __cond_554;
logic __cond_555;
logic __cond_556;
logic __cond_557;
logic __cond_558;
logic __cond_559;
logic __cond_560;
logic __cond_561;
logic __cond_562;
logic __cond_563;
logic __cond_564;
logic __cond_565;
logic __cond_566;
logic __cond_567;
logic __cond_568;
logic __cond_569;
logic __cond_570;
logic __cond_571;
logic __cond_572;
logic __cond_573;
logic [8:0] __expn_dif_574;
logic [7:0] __expn_10r_575;
logic [26:0] __mant_10_576;
logic [25:0] __mant_10_abs_577;
logic [48:0] __mant_padded_578;
logic [4:0] __lead_zeros_579;
logic __all_zero_580;
logic [9:0] __expn_sft_581;
logic __sum_sign_582;
logic [7:0] __sum_expn_583;
logic [22:0] __sum_mant_584;
logic __cond_585;
logic __cond_586;
logic __cond_587;
logic __cond_588;
logic __cond_589;
logic __cond_590;
logic __cond_591;
logic __cond_592;
logic __cond_593;
logic __cond_594;
logic __cond_595;
logic __cond_596;
logic __cond_597;
logic __cond_598;
logic __cond_599;
logic __cond_600;
logic __cond_601;
logic __cond_602;
logic __cond_603;
logic __cond_604;
logic __cond_605;
logic __cond_606;
logic __cond_607;
logic __cond_608;
logic __cond_609;
logic __cond_610;
logic [31:0] __a_1_real_611;
logic [31:0] __a_1_imag_612;
logic [31:0] __a_2_real_613;
logic [31:0] __a_2_imag_614;
logic [31:0] __sum_real_615;
logic [31:0] __sum_imag_616;
logic [31:0] __result_618;
logic __sign_620;
logic [7:0] __expn_621;
logic [7:0] __expn_d_622;
logic [23:0] __mant_623;
logic [26:0] __mant_sft_624;
logic [26:0] __mant_sgn_625;
logic __sign_626;
logic [7:0] __expn_627;
logic [7:0] __expn_d_628;
logic [23:0] __mant_629;
logic [26:0] __mant_sft_630;
logic [26:0] __mant_sgn_631;
logic [1:0] __norms_632;
logic [7:0] __expn_aln_633;
logic [7:0] __shift_num_634;
logic __cond_635;
logic __cond_636;
logic __cond_637;
logic __cond_638;
logic __cond_639;
logic __cond_640;
logic __cond_641;
logic __cond_642;
logic __cond_643;
logic __cond_644;
logic __cond_645;
logic __cond_646;
logic __cond_647;
logic __cond_648;
logic __cond_649;
logic __cond_650;
logic __cond_651;
logic __cond_652;
logic __cond_653;
logic __cond_654;
logic __cond_655;
logic __cond_656;
logic __cond_657;
logic __cond_658;
logic [7:0] __shift_num_659;
logic __cond_660;
logic __cond_661;
logic __cond_662;
logic __cond_663;
logic __cond_664;
logic __cond_665;
logic __cond_666;
logic __cond_667;
logic __cond_668;
logic __cond_669;
logic __cond_670;
logic __cond_671;
logic __cond_672;
logic __cond_673;
logic __cond_674;
logic __cond_675;
logic __cond_676;
logic __cond_677;
logic __cond_678;
logic __cond_679;
logic __cond_680;
logic __cond_681;
logic __cond_682;
logic __cond_683;
logic [8:0] __expn_dif_684;
logic [7:0] __expn_10r_685;
logic [26:0] __mant_10_686;
logic [25:0] __mant_10_abs_687;
logic [48:0] __mant_padded_688;
logic [4:0] __lead_zeros_689;
logic __all_zero_690;
logic [9:0] __expn_sft_691;
logic __sum_sign_692;
logic [7:0] __sum_expn_693;
logic [22:0] __sum_mant_694;
logic __cond_695;
logic __cond_696;
logic __cond_697;
logic __cond_698;
logic __cond_699;
logic __cond_700;
logic __cond_701;
logic __cond_702;
logic __cond_703;
logic __cond_704;
logic __cond_705;
logic __cond_706;
logic __cond_707;
logic __cond_708;
logic __cond_709;
logic __cond_710;
logic __cond_711;
logic __cond_712;
logic __cond_713;
logic __cond_714;
logic __cond_715;
logic __cond_716;
logic __cond_717;
logic __cond_718;
logic __cond_719;
logic __cond_720;
logic [31:0] __result_721;
logic __sign_723;
logic [7:0] __expn_724;
logic [7:0] __expn_d_725;
logic [23:0] __mant_726;
logic [26:0] __mant_sft_727;
logic [26:0] __mant_sgn_728;
logic __sign_729;
logic [7:0] __expn_730;
logic [7:0] __expn_d_731;
logic [23:0] __mant_732;
logic [26:0] __mant_sft_733;
logic [26:0] __mant_sgn_734;
logic [1:0] __norms_735;
logic [7:0] __expn_aln_736;
logic [7:0] __shift_num_737;
logic __cond_738;
logic __cond_739;
logic __cond_740;
logic __cond_741;
logic __cond_742;
logic __cond_743;
logic __cond_744;
logic __cond_745;
logic __cond_746;
logic __cond_747;
logic __cond_748;
logic __cond_749;
logic __cond_750;
logic __cond_751;
logic __cond_752;
logic __cond_753;
logic __cond_754;
logic __cond_755;
logic __cond_756;
logic __cond_757;
logic __cond_758;
logic __cond_759;
logic __cond_760;
logic __cond_761;
logic [7:0] __shift_num_762;
logic __cond_763;
logic __cond_764;
logic __cond_765;
logic __cond_766;
logic __cond_767;
logic __cond_768;
logic __cond_769;
logic __cond_770;
logic __cond_771;
logic __cond_772;
logic __cond_773;
logic __cond_774;
logic __cond_775;
logic __cond_776;
logic __cond_777;
logic __cond_778;
logic __cond_779;
logic __cond_780;
logic __cond_781;
logic __cond_782;
logic __cond_783;
logic __cond_784;
logic __cond_785;
logic __cond_786;
logic [8:0] __expn_dif_787;
logic [7:0] __expn_10r_788;
logic [26:0] __mant_10_789;
logic [25:0] __mant_10_abs_790;
logic [48:0] __mant_padded_791;
logic [4:0] __lead_zeros_792;
logic __all_zero_793;
logic [9:0] __expn_sft_794;
logic __sum_sign_795;
logic [7:0] __sum_expn_796;
logic [22:0] __sum_mant_797;
logic __cond_798;
logic __cond_799;
logic __cond_800;
logic __cond_801;
logic __cond_802;
logic __cond_803;
logic __cond_804;
logic __cond_805;
logic __cond_806;
logic __cond_807;
logic __cond_808;
logic __cond_809;
logic __cond_810;
logic __cond_811;
logic __cond_812;
logic __cond_813;
logic __cond_814;
logic __cond_815;
logic __cond_816;
logic __cond_817;
logic __cond_818;
logic __cond_819;
logic __cond_820;
logic __cond_821;
logic __cond_822;
logic __cond_823;
//port wire declare
wire fft_cfg__start;
logic sram__0__valid;
wire sram__0__ready;
logic sram__0__we_n;
logic [31:0] sram__0__addr;
logic [63:0] sram__0__wdata;
wire [63:0] sram__0__rdata;
logic instr_sram__valid;
wire instr_sram__ready;
logic instr_sram__we_n;
logic [31:0] instr_sram__addr;
logic [63:0] instr_sram__wdata;
wire [15:0] instr_sram__rdata;
logic exp_sram__valid;
wire exp_sram__ready;
logic exp_sram__we_n;
logic [31:0] exp_sram__addr;
logic [63:0] exp_sram__wdata;
wire [63:0] exp_sram__rdata;
wire clk;
wire rstn;
//register declare
//register init and update
reg [63:0] __r_48;
wire [63:0] ___r_48;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __r_48 <= #`UDLY 64'h0;
  end
  else begin
    __r_48 <= #`UDLY ___r_48;
  end
end

reg [63:0] __rd_even_data_53;
wire [63:0] ___rd_even_data_53;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __rd_even_data_53 <= #`UDLY 64'h0;
  end
  else begin
    __rd_even_data_53 <= #`UDLY ___rd_even_data_53;
  end
end

reg [63:0] __wr_sub_data_62;
wire [63:0] ___wr_sub_data_62;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __wr_sub_data_62 <= #`UDLY 64'h0;
  end
  else begin
    __wr_sub_data_62 <= #`UDLY ___wr_sub_data_62;
  end
end

reg [63:0] __exp_data_63;
logic [63:0] ___exp_data_63;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_data_63 <= #`UDLY 64'h0;
  end
  else begin
    __exp_data_63 <= #`UDLY ___exp_data_63;
  end
end

reg [31:0] __instr_addr_66;
wire [31:0] ___instr_addr_66;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_addr_66 <= #`UDLY 32'h0;
  end
  else begin
    __instr_addr_66 <= #`UDLY ___instr_addr_66;
  end
end

reg __instr_ready_67;
wire ___instr_ready_67;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_67 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_67 <= #`UDLY ___instr_ready_67;
  end
end

reg [15:0] __instr_data_68;
wire [15:0] ___instr_data_68;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_data_68 <= #`UDLY 16'h0;
  end
  else begin
    __instr_data_68 <= #`UDLY ___instr_data_68;
  end
end

reg __instr_ready_69;
wire ___instr_ready_69;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_69 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_69 <= #`UDLY ___instr_ready_69;
  end
end

reg __fft_run_70;
wire ___fft_run_70;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __fft_run_70 <= #`UDLY 1'h0;
  end
  else begin
    __fft_run_70 <= #`UDLY ___fft_run_70;
  end
end

reg __decode_valid_72;
wire ___decode_valid_72;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_valid_72 <= #`UDLY 1'h0;
  end
  else begin
    __decode_valid_72 <= #`UDLY ___decode_valid_72;
  end
end

reg [31:0] __decode_even_addr_73;
wire [31:0] ___decode_even_addr_73;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_even_addr_73 <= #`UDLY 32'h0;
  end
  else begin
    __decode_even_addr_73 <= #`UDLY ___decode_even_addr_73;
  end
end

reg [31:0] __decode_odd_addr_74;
wire [31:0] ___decode_odd_addr_74;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_odd_addr_74 <= #`UDLY 32'h0;
  end
  else begin
    __decode_odd_addr_74 <= #`UDLY ___decode_odd_addr_74;
  end
end

reg __get_exp_valid_75;
wire ___get_exp_valid_75;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_75 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_75 <= #`UDLY ___get_exp_valid_75;
  end
end

reg __get_exp_valid_76;
wire ___get_exp_valid_76;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_76 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_76 <= #`UDLY ___get_exp_valid_76;
  end
end

reg [31:0] __space_base_addr_77;
wire [31:0] ___space_base_addr_77;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __space_base_addr_77 <= #`UDLY 32'h0;
  end
  else begin
    __space_base_addr_77 <= #`UDLY ___space_base_addr_77;
  end
end

reg [31:0] __step_addr_78;
wire [31:0] ___step_addr_78;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __step_addr_78 <= #`UDLY 32'h0;
  end
  else begin
    __step_addr_78 <= #`UDLY ___step_addr_78;
  end
end

reg [15:0] __instr_79;
wire [15:0] ___instr_79;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_79 <= #`UDLY 16'h0;
  end
  else begin
    __instr_79 <= #`UDLY ___instr_79;
  end
end

reg __instr_valid_80;
wire ___instr_valid_80;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_valid_80 <= #`UDLY 1'h0;
  end
  else begin
    __instr_valid_80 <= #`UDLY ___instr_valid_80;
  end
end

reg __decode_grant_81;
wire ___decode_grant_81;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_grant_81 <= #`UDLY 1'h0;
  end
  else begin
    __decode_grant_81 <= #`UDLY ___decode_grant_81;
  end
end

reg __ctrl_valid_91;
wire ___ctrl_valid_91;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_91 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_91 <= #`UDLY ___ctrl_valid_91;
  end
end

reg [31:0] __ctrl_even_addr_92;
wire [31:0] ___ctrl_even_addr_92;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_92 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_92 <= #`UDLY ___ctrl_even_addr_92;
  end
end

reg [31:0] __ctrl_odd_addr_93;
wire [31:0] ___ctrl_odd_addr_93;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_93 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_93 <= #`UDLY ___ctrl_odd_addr_93;
  end
end

reg __ctrl_en_94;
wire ___ctrl_en_94;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_94 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_94 <= #`UDLY ___ctrl_en_94;
  end
end

reg __ctrl_valid_95;
wire ___ctrl_valid_95;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_95 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_95 <= #`UDLY ___ctrl_valid_95;
  end
end

reg [31:0] __ctrl_even_addr_96;
wire [31:0] ___ctrl_even_addr_96;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_96 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_96 <= #`UDLY ___ctrl_even_addr_96;
  end
end

reg [31:0] __ctrl_odd_addr_97;
wire [31:0] ___ctrl_odd_addr_97;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_97 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_97 <= #`UDLY ___ctrl_odd_addr_97;
  end
end

reg __ctrl_en_98;
wire ___ctrl_en_98;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_98 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_98 <= #`UDLY ___ctrl_en_98;
  end
end

reg __ctrl_valid_99;
wire ___ctrl_valid_99;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_99 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_99 <= #`UDLY ___ctrl_valid_99;
  end
end

reg [31:0] __ctrl_even_addr_100;
wire [31:0] ___ctrl_even_addr_100;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_100 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_100 <= #`UDLY ___ctrl_even_addr_100;
  end
end

reg [31:0] __ctrl_odd_addr_101;
wire [31:0] ___ctrl_odd_addr_101;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_101 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_101 <= #`UDLY ___ctrl_odd_addr_101;
  end
end

reg __ctrl_en_102;
wire ___ctrl_en_102;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_102 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_102 <= #`UDLY ___ctrl_en_102;
  end
end

reg __ctrl_valid_103;
wire ___ctrl_valid_103;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_103 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_103 <= #`UDLY ___ctrl_valid_103;
  end
end

reg [31:0] __ctrl_even_addr_104;
wire [31:0] ___ctrl_even_addr_104;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_104 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_104 <= #`UDLY ___ctrl_even_addr_104;
  end
end

reg [31:0] __ctrl_odd_addr_105;
wire [31:0] ___ctrl_odd_addr_105;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_105 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_105 <= #`UDLY ___ctrl_odd_addr_105;
  end
end

reg __ctrl_en_106;
wire ___ctrl_en_106;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_106 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_106 <= #`UDLY ___ctrl_en_106;
  end
end

reg __ctrl_valid_107;
wire ___ctrl_valid_107;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_107 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_107 <= #`UDLY ___ctrl_valid_107;
  end
end

reg [31:0] __ctrl_even_addr_108;
wire [31:0] ___ctrl_even_addr_108;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_108 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_108 <= #`UDLY ___ctrl_even_addr_108;
  end
end

reg [31:0] __ctrl_odd_addr_109;
wire [31:0] ___ctrl_odd_addr_109;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_109 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_109 <= #`UDLY ___ctrl_odd_addr_109;
  end
end

reg __ctrl_en_110;
wire ___ctrl_en_110;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_110 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_110 <= #`UDLY ___ctrl_en_110;
  end
end

reg __memif_rd_running_121;
wire ___memif_rd_running_121;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_running_121 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_running_121 <= #`UDLY ___memif_rd_running_121;
  end
end

reg __memif_wr_running_122;
wire ___memif_wr_running_122;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_running_122 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_running_122 <= #`UDLY ___memif_wr_running_122;
  end
end

reg [63:0] __memif_rd_data_buf_123;
wire [63:0] ___memif_rd_data_buf_123;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_data_buf_123 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_data_buf_123 <= #`UDLY ___memif_rd_data_buf_123;
  end
end

reg [63:0] __memif_rd_addr_buf_124;
wire [63:0] ___memif_rd_addr_buf_124;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_addr_buf_124 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_addr_buf_124 <= #`UDLY ___memif_rd_addr_buf_124;
  end
end

reg [63:0] __memif_wr_data_buf_125;
wire [63:0] ___memif_wr_data_buf_125;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_data_buf_125 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_data_buf_125 <= #`UDLY ___memif_wr_data_buf_125;
  end
end

reg [63:0] __memif_wr_addr_buf_126;
wire [63:0] ___memif_wr_addr_buf_126;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_addr_buf_126 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_addr_buf_126 <= #`UDLY ___memif_wr_addr_buf_126;
  end
end

reg __memif_rd_ready_127;
wire ___memif_rd_ready_127;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_ready_127 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_ready_127 <= #`UDLY ___memif_rd_ready_127;
  end
end

reg __memif_wr_ready_128;
wire ___memif_wr_ready_128;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_ready_128 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_ready_128 <= #`UDLY ___memif_wr_ready_128;
  end
end

reg __memif_rd_even_valid_129;
wire ___memif_rd_even_valid_129;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_even_valid_129 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_even_valid_129 <= #`UDLY ___memif_rd_even_valid_129;
  end
end

reg __memif_rd_odd_valid_130;
wire ___memif_rd_odd_valid_130;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_odd_valid_130 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_odd_valid_130 <= #`UDLY ___memif_rd_odd_valid_130;
  end
end

reg __memif_wr_t_valid_131;
wire ___memif_wr_t_valid_131;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_t_valid_131 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_t_valid_131 <= #`UDLY ___memif_wr_t_valid_131;
  end
end

reg __memif_wr_e_valid_132;
wire ___memif_wr_e_valid_132;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_e_valid_132 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_e_valid_132 <= #`UDLY ___memif_wr_e_valid_132;
  end
end

reg [63:0] __exp_dly_137;
wire [63:0] ___exp_dly_137;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_137 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_137 <= #`UDLY ___exp_dly_137;
  end
end

reg [63:0] __exp_dly_2_138;
wire [63:0] ___exp_dly_2_138;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_2_138 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_2_138 <= #`UDLY ___exp_dly_2_138;
  end
end

reg [63:0] __exp_dly_3_139;
wire [63:0] ___exp_dly_3_139;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_3_139 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_3_139 <= #`UDLY ___exp_dly_3_139;
  end
end

reg [63:0] __even_data_dly_140;
wire [63:0] ___even_data_dly_140;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_140 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_140 <= #`UDLY ___even_data_dly_140;
  end
end

reg [63:0] __even_data_dly_2_141;
wire [63:0] ___even_data_dly_2_141;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_2_141 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_2_141 <= #`UDLY ___even_data_dly_2_141;
  end
end

reg [63:0] __even_data_dly_3_142;
wire [63:0] ___even_data_dly_3_142;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_3_142 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_3_142 <= #`UDLY ___even_data_dly_3_142;
  end
end

reg [63:0] __complex_prod_157;
wire [63:0] ___complex_prod_157;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_prod_157 <= #`UDLY 64'h0;
  end
  else begin
    __complex_prod_157 <= #`UDLY ___complex_prod_157;
  end
end

reg [31:0] __mult_result_168;
logic [31:0] ___mult_result_168;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_168 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_168 <= #`UDLY ___mult_result_168;
  end
end

reg [31:0] __mult_result_175;
logic [31:0] ___mult_result_175;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_175 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_175 <= #`UDLY ___mult_result_175;
  end
end

reg [31:0] __mult_result_182;
logic [31:0] ___mult_result_182;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_182 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_182 <= #`UDLY ___mult_result_182;
  end
end

reg [31:0] __mult_result_189;
logic [31:0] ___mult_result_189;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_189 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_189 <= #`UDLY ___mult_result_189;
  end
end

reg [34:0] __s_reg_192;
wire [34:0] ___s_reg_192;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_192 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_192 <= #`UDLY ___s_reg_192;
  end
end

reg [34:0] __s_reg_295;
wire [34:0] ___s_reg_295;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_295 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_295 <= #`UDLY ___s_reg_295;
  end
end

reg [63:0] __complex_sum_404;
wire [63:0] ___complex_sum_404;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_404 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_404 <= #`UDLY ___complex_sum_404;
  end
end

reg [34:0] __s_reg_406;
wire [34:0] ___s_reg_406;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_406 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_406 <= #`UDLY ___s_reg_406;
  end
end

reg [34:0] __s_reg_509;
wire [34:0] ___s_reg_509;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_509 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_509 <= #`UDLY ___s_reg_509;
  end
end

reg [63:0] __complex_sum_617;
wire [63:0] ___complex_sum_617;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_617 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_617 <= #`UDLY ___complex_sum_617;
  end
end

reg [34:0] __s_reg_619;
wire [34:0] ___s_reg_619;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_619 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_619 <= #`UDLY ___s_reg_619;
  end
end

reg [34:0] __s_reg_722;
wire [34:0] ___s_reg_722;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_722 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_722 <= #`UDLY ___s_reg_722;
  end
end

reg [3:0] __cell_idx_824;
wire [3:0] ___cell_idx_824;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __cell_idx_824 <= #`UDLY 4'h0;
  end
  else begin
    __cell_idx_824 <= #`UDLY ___cell_idx_824;
  end
end

reg __exp_sram_dly_825;
wire ___exp_sram_dly_825;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_sram_dly_825 <= #`UDLY 1'h0;
  end
  else begin
    __exp_sram_dly_825 <= #`UDLY ___exp_sram_dly_825;
  end
end

//assign logic
assign ___fft_run_70 /* 575 */ = (__fft_end_64 /* 576 */ )?(0 /* 577 */ ):(fft_cfg__start /* 578 */ )?(1 /* 579 */ ):__fft_run_70 /* 581 */  /* 580 */ ;
assign instr_sram__valid /* 583 */ = __fft_run_70&&__fetch_instr_enable_65 /* 583 */ ;
assign instr_sram__addr /* 584 */ = __instr_addr_66 /* 584 */ ;
assign instr_sram__we_n /* 586 */ = 1 /* 586 */ ;
assign instr_sram__wdata /* 587 */ = 0 /* 587 */ ;
assign ___instr_addr_66 /* 589 */ = (__fetch_instr_enable_65&&instr_sram__ready /* 590 */ )?(__instr_addr_66+1 /* 591 */ ):__instr_addr_66 /* 593 */  /* 592 */ ;
assign ___instr_ready_69 /* 594 */ = instr_sram__ready /* 594 */ ;
assign ___instr_ready_67 /* 596 */ = __instr_ready_69 /* 596 */ ;
assign ___instr_data_68 /* 597 */ = instr_sram__rdata /* 597 */ ;
assign __fft_calc_grant_71 /* 136 */ = (1&__t_45 /* 134 */ )&&(!exp_sram__valid)|exp_sram__ready /* 136 */ ;
assign __op_code_82 /* 635 */ = __instr_79[15:12] /* 635 */ ;
assign __cell_num_83 /* 636 */ = __instr_79[11:10] /* 636 */ ;
assign __immed_84 /* 637 */ = __instr_79[9:0] /* 637 */ ;
assign ___instr_79 /* 639 */ = (__fft_calc_grant_71&&__instr_ready_67 /* 640 */ )?(__instr_data_68 /* 641 */ ):__instr_79 /* 643 */  /* 642 */ ;
assign ___decode_grant_81 /* 645 */ = __fft_calc_grant_71 /* 645 */ ;
assign ___instr_valid_80 /* 647 */ = (__fft_calc_grant_71 /* 648 */ )?(__instr_ready_67 /* 649 */ ):__instr_valid_80 /* 651 */  /* 650 */ ;
assign __set_addr_85 /* 653 */ = (__op_code_82==(4'h2 /* 611 */ )) /* 653 */ ;
assign __get_exp_86 /* 654 */ = (__op_code_82==(4'h3 /* 612 */ )) /* 654 */ ;
assign __fft_calc_87 /* 655 */ = (__op_code_82==(4'h1 /* 610 */ )) /* 655 */ ;
assign __calc_end_88 /* 656 */ = (__op_code_82==(4'hf /* 613 */ )) /* 656 */ ;
assign __set_space_addr_89 /* 658 */ = __set_addr_85&&(__cell_num_83==(2'b00 /* 615 */ )) /* 658 */ ;
assign __set_step_addr_90 /* 659 */ = __set_addr_85&&(__cell_num_83==(2'b01 /* 616 */ )) /* 659 */ ;
assign ___space_base_addr_77 /* 661 */ = (__instr_valid_80&&__fft_calc_grant_71&&__set_addr_85&&__set_space_addr_89 /* 662 */ )?(__immed_84 /* 663 */ ):__space_base_addr_77 /* 665 */  /* 664 */ ;
assign ___step_addr_78 /* 667 */ = (__instr_valid_80&&__fft_calc_grant_71&&__set_addr_85&&__set_step_addr_90 /* 668 */ )?(__immed_84 /* 669 */ ):__step_addr_78 /* 671 */  /* 670 */ ;
assign ___decode_valid_72 /* 674 */ = (__instr_valid_80&&__fft_calc_87&&(__cell_num_83>=0)&&__fft_calc_grant_71 /* 675 */ )?(1 /* 676 */ ):0 /* 678 */  /* 677 */ ;
assign ___decode_even_addr_73 /* 682 */ = (__instr_valid_80&&__fft_calc_87&&(__cell_num_83>=0)&&__fft_calc_grant_71 /* 683 */ )?(__immed_84+__space_base_addr_77+0 /* 684 */ ):__decode_even_addr_73 /* 686 */  /* 685 */ ;
assign ___decode_odd_addr_74 /* 688 */ = (__instr_valid_80&&__fft_calc_87&&(__cell_num_83>=0)&&__fft_calc_grant_71 /* 689 */ )?(__immed_84+__space_base_addr_77+__step_addr_78+0 /* 690 */ ):__decode_odd_addr_74 /* 692 */  /* 691 */ ;
assign __fft_end_64 /* 694 */ = (__instr_valid_80&&__calc_end_88&&(__cell_num_83>=0) /* 695 */ )?(1 /* 696 */ ):0 /* 698 */  /* 697 */ ;
assign __fetch_instr_enable_65 /* 699 */ = __decode_grant_81 /* 699 */ ;
assign ___get_exp_valid_75 /* 701 */ = (__instr_valid_80&&__get_exp_86&&(__cell_num_83>=0)&&__fft_calc_grant_71 /* 702 */ )?(1 /* 703 */ ):0 /* 705 */  /* 704 */ ;
assign ___get_exp_valid_76 /* 707 */ = (__instr_valid_80&&__get_exp_86&&(__cell_num_83>=0)&&__fft_calc_grant_71 /* 708 */ )?(__immed_84 /* 709 */ ):__get_exp_valid_76 /* 711 */  /* 710 */ ;
assign ___ctrl_even_addr_92 /* 270 */ = (__rd_ready_50&&__wr_grant_58 /* 271 */ )?(__rd_even_addr_52 /* 272 */ ):__ctrl_even_addr_92 /* 274 */  /* 273 */ ;
assign ___ctrl_odd_addr_93 /* 276 */ = (__rd_ready_50&&__wr_grant_58 /* 277 */ )?(__rd_odd_addr_54 /* 278 */ ):__ctrl_even_addr_92 /* 280 */  /* 279 */ ;
assign ___ctrl_valid_91 /* 282 */ = (__wr_grant_58 /* 283 */ )?(__rd_ready_50 /* 284 */ ):__ctrl_valid_91 /* 286 */  /* 285 */ ;
assign ___ctrl_en_94 /* 288 */ = __rd_ready_50&&__wr_grant_58 /* 288 */ ;
assign ___ctrl_valid_95 /* 290 */ = (__wr_grant_58 /* 291 */ )?(__ctrl_valid_91 /* 292 */ ):__ctrl_valid_95 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_96 /* 296 */ = (__ctrl_valid_91&&__wr_grant_58 /* 297 */ )?(__ctrl_even_addr_92 /* 298 */ ):__ctrl_even_addr_96 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_97 /* 302 */ = (__ctrl_valid_91&&__wr_grant_58 /* 303 */ )?(__ctrl_odd_addr_93 /* 304 */ ):__ctrl_odd_addr_97 /* 306 */  /* 305 */ ;
assign ___ctrl_en_98 /* 308 */ = __ctrl_valid_91&__wr_grant_58 /* 308 */ ;
assign ___ctrl_valid_99 /* 290 */ = (__wr_grant_58 /* 291 */ )?(__ctrl_valid_95 /* 292 */ ):__ctrl_valid_99 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_100 /* 296 */ = (__ctrl_valid_95&&__wr_grant_58 /* 297 */ )?(__ctrl_even_addr_96 /* 298 */ ):__ctrl_even_addr_100 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_101 /* 302 */ = (__ctrl_valid_95&&__wr_grant_58 /* 303 */ )?(__ctrl_odd_addr_97 /* 304 */ ):__ctrl_odd_addr_101 /* 306 */  /* 305 */ ;
assign ___ctrl_en_102 /* 308 */ = __ctrl_valid_95&__wr_grant_58 /* 308 */ ;
assign ___ctrl_valid_103 /* 290 */ = (__wr_grant_58 /* 291 */ )?(__ctrl_valid_99 /* 292 */ ):__ctrl_valid_103 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_104 /* 296 */ = (__ctrl_valid_99&&__wr_grant_58 /* 297 */ )?(__ctrl_even_addr_100 /* 298 */ ):__ctrl_even_addr_104 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_105 /* 302 */ = (__ctrl_valid_99&&__wr_grant_58 /* 303 */ )?(__ctrl_odd_addr_101 /* 304 */ ):__ctrl_odd_addr_105 /* 306 */  /* 305 */ ;
assign ___ctrl_en_106 /* 308 */ = __ctrl_valid_99&__wr_grant_58 /* 308 */ ;
assign ___ctrl_valid_107 /* 290 */ = (__wr_grant_58 /* 291 */ )?(__ctrl_valid_103 /* 292 */ ):__ctrl_valid_107 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_108 /* 296 */ = (__ctrl_valid_103&&__wr_grant_58 /* 297 */ )?(__ctrl_even_addr_104 /* 298 */ ):__ctrl_even_addr_108 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_109 /* 302 */ = (__ctrl_valid_103&&__wr_grant_58 /* 303 */ )?(__ctrl_odd_addr_105 /* 304 */ ):__ctrl_odd_addr_109 /* 306 */  /* 305 */ ;
assign ___ctrl_en_110 /* 308 */ = __ctrl_valid_103&__wr_grant_58 /* 308 */ ;
assign ___memif_rd_running_121 /* 354 */ = (__rd_odd_data_ready_134&&__memif_rd_running_121 /* 355 */ )?(__rd_valid_49 /* 356 */ ):(__rd_valid_49 /* 357 */ )?(1 /* 358 */ ):__memif_rd_running_121 /* 360 */  /* 359 */ ;
assign ___memif_wr_running_122 /* 362 */ = (__wr_sub_data_ready_136&&__memif_wr_running_122 /* 363 */ )?(__wr_valid_56 /* 364 */ ):(__wr_valid_56 /* 365 */ )?(1 /* 366 */ ):__memif_wr_running_122 /* 368 */  /* 367 */ ;
assign ___memif_rd_data_buf_123 /* 371 */ = (__memif_rd_odd_valid_130 /* 372 */ )?(__rdata_120 /* 373 */ ):__memif_rd_data_buf_123 /* 375 */  /* 374 */ ;
assign ___memif_rd_addr_buf_124 /* 377 */ = (__rd_valid_49&&__pip_en_111 /* 378 */ )?(__rd_odd_addr_54 /* 379 */ ):__memif_rd_addr_buf_124 /* 381 */  /* 380 */ ;
assign ___memif_rd_even_valid_129 /* 383 */ = (__pip_en_111&&(!__memif_wr_t_valid_131)&&(!__memif_wr_e_valid_132) /* 384 */ )?(__rd_valid_49 /* 385 */ ):0 /* 387 */  /* 386 */ ;
assign ___memif_rd_odd_valid_130 /* 389 */ = (__pip_en_112&&__rd_odd_data_ready_134 /* 390 */ )?(__rd_even_data_ready_133 /* 391 */ ):(__pip_en_112&&__rd_even_data_ready_133 /* 392 */ )?(1 /* 393 */ ):__memif_rd_odd_valid_130 /* 395 */  /* 394 */ ;
assign ___memif_wr_data_buf_125 /* 398 */ = (__wr_valid_56&&__pip_en_114 /* 399 */ )?(__wr_sub_data_62 /* 400 */ ):__memif_wr_data_buf_125 /* 402 */  /* 401 */ ;
assign ___memif_wr_addr_buf_126 /* 404 */ = (__wr_valid_56&&__pip_en_114 /* 405 */ )?(__wr_odd_addr_61 /* 406 */ ):__memif_wr_addr_buf_126 /* 408 */  /* 407 */ ;
assign ___memif_wr_t_valid_131 /* 410 */ = (__pip_en_114 /* 411 */ )?(__wr_valid_56 /* 412 */ ):0 /* 414 */  /* 413 */ ;
assign ___memif_wr_e_valid_132 /* 416 */ = (__wr_sub_data_ready_136 /* 417 */ )?(__wr_add_data_ready_135 /* 418 */ ):(__wr_add_data_ready_135 /* 419 */ )?(1 /* 420 */ ):__memif_wr_e_valid_132 /* 422 */  /* 421 */ ;
assign __rd_even_data_ready_133 /* 424 */ = __memif_rd_running_121&&__memif_rd_even_valid_129&&__sram_ready_116&&(!__memif_wr_t_valid_131)&&(!__memif_wr_e_valid_132) /* 424 */ ;
assign __rd_odd_data_ready_134 /* 425 */ = __memif_rd_running_121&&__memif_rd_odd_valid_130&&__sram_ready_116&&(!__memif_wr_t_valid_131)&&(!__memif_wr_e_valid_132) /* 425 */ ;
assign __wr_add_data_ready_135 /* 427 */ = __memif_wr_running_122&&__memif_wr_t_valid_131&&__sram_ready_116 /* 427 */ ;
assign __wr_sub_data_ready_136 /* 428 */ = __memif_wr_running_122&&__memif_wr_e_valid_132&&__sram_ready_116 /* 428 */ ;
assign __sram_valid_115 /* 430 */ = (__memif_rd_even_valid_129||__memif_rd_odd_valid_130&&(!__memif_wr_t_valid_131)&&(!__memif_wr_e_valid_132)||__memif_wr_t_valid_131||__memif_wr_e_valid_132) /* 430 */ ;
assign __we_n_117 /* 431 */ = !(__memif_wr_t_valid_131||__memif_wr_e_valid_132) /* 431 */ ;
assign __waddr_118 /* 433 */ = (__memif_wr_t_valid_131 /* 434 */ )?(__wr_even_addr_59 /* 435 */ ):(__memif_wr_e_valid_132 /* 436 */ )?(__memif_wr_addr_buf_126 /* 437 */ ):(__memif_rd_even_valid_129 /* 438 */ )?(__rd_even_addr_52 /* 439 */ ):(__memif_rd_odd_valid_130 /* 440 */ )?(__memif_rd_addr_buf_124 /* 441 */ ):0 /* 443 */  /* 442 */ ;
assign __wdata_119 /* 445 */ = (__memif_wr_t_valid_131 /* 446 */ )?(__wr_add_data_60 /* 447 */ ):(__memif_wr_e_valid_132 /* 448 */ )?(__memif_wr_data_buf_125 /* 449 */ ):0 /* 451 */  /* 450 */ ;
assign ___rd_even_data_53 /* 453 */ = (__memif_rd_ready_127 /* 454 */ )?(__memif_rd_data_buf_123 /* 455 */ ):0 /* 457 */  /* 456 */ ;
assign __rd_odd_data_55 /* 459 */ = (__memif_rd_ready_127 /* 460 */ )?(__rdata_120 /* 461 */ ):0 /* 463 */  /* 462 */ ;
assign __pip_en_111 /* 465 */ = (__memif_rd_odd_valid_130&&__rd_odd_data_ready_134||!__memif_rd_odd_valid_130) /* 465 */ ;
assign __pip_en_112 /* 466 */ = __wr_grant_58 /* 466 */ ;
assign __pip_en_113 /* 467 */ = (__memif_wr_t_valid_131&&__wr_add_data_ready_135||!__memif_wr_t_valid_131) /* 467 */ ;
assign __pip_en_114 /* 468 */ = (__memif_wr_e_valid_132&&__wr_sub_data_ready_136||!__memif_wr_e_valid_132) /* 468 */ ;
assign ___memif_rd_ready_127 /* 470 */ = __rd_odd_data_ready_134 /* 470 */ ;
assign ___memif_wr_ready_128 /* 471 */ = __wr_sub_data_ready_136 /* 471 */ ;
assign __rd_ready_50 /* 473 */ = __memif_rd_ready_127 /* 473 */ ;
assign __rd_grant_51 /* 474 */ = __memif_rd_even_valid_129&&__rd_even_data_ready_133||!__memif_rd_even_valid_129 /* 474 */ ;
assign __wr_ready_57 /* 476 */ = __memif_wr_ready_128 /* 476 */ ;
assign __wr_grant_58 /* 477 */ = __pip_en_113 /* 477 */ ;
assign ___exp_dly_137 /* 508 */ = (__ctrl_valid_91 /* 509 */ )?(__rd_even_data_53 /* 510 */ ):__exp_dly_137 /* 512 */  /* 511 */ ;
assign ___exp_dly_2_138 /* 514 */ = (__ctrl_valid_95 /* 515 */ )?(__exp_dly_137 /* 516 */ ):__exp_dly_2_138 /* 518 */  /* 517 */ ;
assign ___exp_dly_3_139 /* 520 */ = (__ctrl_valid_99 /* 521 */ )?(__exp_dly_2_138 /* 522 */ ):__exp_dly_3_139 /* 524 */  /* 523 */ ;
assign ___even_data_dly_140 /* 526 */ = (__ctrl_valid_91 /* 527 */ )?(__exp_data_63 /* 528 */ ):__even_data_dly_140 /* 530 */  /* 529 */ ;
assign ___even_data_dly_2_141 /* 532 */ = (__ctrl_valid_95 /* 533 */ )?(__even_data_dly_140 /* 534 */ ):__even_data_dly_2_141 /* 536 */  /* 535 */ ;
assign ___even_data_dly_3_142 /* 538 */ = (__ctrl_valid_99 /* 539 */ )?(__even_data_dly_2_141 /* 540 */ ):__even_data_dly_3_142 /* 542 */  /* 541 */ ;
assign __t_145 /* 544 */ = __exp_dly_3_139 /* 544 */ ;
assign __result_sign_162 /* 117 */ = __m_1_real_147[31]^__m_2_real_148[31] /* 117 */ ;
assign __result_exp_163 /* 118 */ = __m_1_real_147[30:23]-127+(__m_2_real_148[30:23]) /* 118 */ ;
assign __exp_add1_164 /* 119 */ = __result_exp_163+1 /* 119 */ ;
assign __overflow_1_158 /* 121 */ = __result_exp_163[8]||__exp_add1_164[8] /* 121 */ ;
assign __result_factor_165 /* 123 */ = { 1'b1,__m_1_real_147[22:0] }*{ 1'b1,__m_2_real_148[22:0] } /* 123 */ ;
assign __valid_factor_norm_166 /* 133 */ = __result_factor_165[45:23] /* 133 */ ;
assign __valid_factor_shift_167 /* 134 */ = __result_factor_165[46:24] /* 134 */ ;
assign __real_x_real_153 /* 208 */ = (__mult_result_168 /* 143 */ ) /* 208 */ ;
assign __result_sign_169 /* 117 */ = __m_1_real_147[31]^__m_2_imag_150[31] /* 117 */ ;
assign __result_exp_170 /* 118 */ = __m_1_real_147[30:23]-127+(__m_2_imag_150[30:23]) /* 118 */ ;
assign __exp_add1_171 /* 119 */ = __result_exp_170+1 /* 119 */ ;
assign __overflow_2_159 /* 121 */ = __result_exp_170[8]||__exp_add1_171[8] /* 121 */ ;
assign __result_factor_172 /* 123 */ = { 1'b1,__m_1_real_147[22:0] }*{ 1'b1,__m_2_imag_150[22:0] } /* 123 */ ;
assign __valid_factor_norm_173 /* 133 */ = __result_factor_172[45:23] /* 133 */ ;
assign __valid_factor_shift_174 /* 134 */ = __result_factor_172[46:24] /* 134 */ ;
assign __real_x_imag_154 /* 209 */ = (__mult_result_175 /* 143 */ ) /* 209 */ ;
assign __result_sign_176 /* 117 */ = __m_1_imag_149[31]^__m_2_real_148[31] /* 117 */ ;
assign __result_exp_177 /* 118 */ = __m_1_imag_149[30:23]-127+(__m_2_real_148[30:23]) /* 118 */ ;
assign __exp_add1_178 /* 119 */ = __result_exp_177+1 /* 119 */ ;
assign __overflow_3_160 /* 121 */ = __result_exp_177[8]||__exp_add1_178[8] /* 121 */ ;
assign __result_factor_179 /* 123 */ = { 1'b1,__m_1_imag_149[22:0] }*{ 1'b1,__m_2_real_148[22:0] } /* 123 */ ;
assign __valid_factor_norm_180 /* 133 */ = __result_factor_179[45:23] /* 133 */ ;
assign __valid_factor_shift_181 /* 134 */ = __result_factor_179[46:24] /* 134 */ ;
assign __imag_x_real_155 /* 210 */ = (__mult_result_182 /* 143 */ ) /* 210 */ ;
assign __result_sign_183 /* 117 */ = __m_1_imag_149[31]^__m_2_imag_150[31] /* 117 */ ;
assign __result_exp_184 /* 118 */ = __m_1_imag_149[30:23]-127+(__m_2_imag_150[30:23]) /* 118 */ ;
assign __exp_add1_185 /* 119 */ = __result_exp_184+1 /* 119 */ ;
assign __overflow_4_161 /* 121 */ = __result_exp_184[8]||__exp_add1_185[8] /* 121 */ ;
assign __result_factor_186 /* 123 */ = { 1'b1,__m_1_imag_149[22:0] }*{ 1'b1,__m_2_imag_150[22:0] } /* 123 */ ;
assign __valid_factor_norm_187 /* 133 */ = __result_factor_186[45:23] /* 133 */ ;
assign __valid_factor_shift_188 /* 134 */ = __result_factor_186[46:24] /* 134 */ ;
assign __imag_x_imag_156 /* 211 */ = (__mult_result_189 /* 143 */ ) /* 211 */ ;
assign __neg_imag_x_imag_190 /* 213 */ = { 1'b1,__imag_x_imag_156[30:0] } /* 213 */ ;
assign __norms_205[0] /* 32 */ = (|(__expn_194)) /* 32 */ ;
assign __sign_193 /* 33 */ = __real_x_real_153[31] /* 33 */ ;
assign __expn_194 /* 34 */ = __real_x_real_153[30:23] /* 34 */ ;
assign __mant_196[22:0] /* 35 */ = __real_x_real_153[22:0] /* 35 */ ;
assign __mant_196[23] /* 36 */ = __norms_205[0] /* 36 */ ;
assign __expn_d_195 /* 37 */ = __expn_194+!__norms_205[0] /* 37 */ ;
assign __shift_num_207 /* 38 */ = __expn_aln_206-__expn_d_195 /* 38 */ ;
assign __cond_208 /* 242 */ = 0==__shift_num_207 /* 242 */ ;
assign __cond_209 /* 242 */ = 1==__shift_num_207 /* 242 */ ;
assign __cond_210 /* 242 */ = 2==__shift_num_207 /* 242 */ ;
assign __cond_211 /* 242 */ = 3==__shift_num_207 /* 242 */ ;
assign __cond_212 /* 242 */ = 4==__shift_num_207 /* 242 */ ;
assign __cond_213 /* 242 */ = 5==__shift_num_207 /* 242 */ ;
assign __cond_214 /* 242 */ = 6==__shift_num_207 /* 242 */ ;
assign __cond_215 /* 242 */ = 7==__shift_num_207 /* 242 */ ;
assign __cond_216 /* 242 */ = 8==__shift_num_207 /* 242 */ ;
assign __cond_217 /* 242 */ = 9==__shift_num_207 /* 242 */ ;
assign __cond_218 /* 242 */ = 10==__shift_num_207 /* 242 */ ;
assign __cond_219 /* 242 */ = 11==__shift_num_207 /* 242 */ ;
assign __cond_220 /* 242 */ = 12==__shift_num_207 /* 242 */ ;
assign __cond_221 /* 242 */ = 13==__shift_num_207 /* 242 */ ;
assign __cond_222 /* 242 */ = 14==__shift_num_207 /* 242 */ ;
assign __cond_223 /* 242 */ = 15==__shift_num_207 /* 242 */ ;
assign __cond_224 /* 242 */ = 16==__shift_num_207 /* 242 */ ;
assign __cond_225 /* 242 */ = 17==__shift_num_207 /* 242 */ ;
assign __cond_226 /* 242 */ = 18==__shift_num_207 /* 242 */ ;
assign __cond_227 /* 242 */ = 19==__shift_num_207 /* 242 */ ;
assign __cond_228 /* 242 */ = 20==__shift_num_207 /* 242 */ ;
assign __cond_229 /* 242 */ = 21==__shift_num_207 /* 242 */ ;
assign __cond_230 /* 242 */ = 22==__shift_num_207 /* 242 */ ;
assign __cond_231 /* 242 */ = 23==__shift_num_207 /* 242 */ ;
assign __mant_sft_197 /* 39 */ = (__shift_num_207<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_208} }&((__mant_196>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_209} }&((__mant_196>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_210} }&((__mant_196>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_211} }&((__mant_196>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_212} }&((__mant_196>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_213} }&((__mant_196>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_214} }&((__mant_196>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_215} }&((__mant_196>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_216} }&((__mant_196>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_217} }&((__mant_196>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_218} }&((__mant_196>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_219} }&((__mant_196>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_220} }&((__mant_196>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_221} }&((__mant_196>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_222} }&((__mant_196>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_223} }&((__mant_196>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_224} }&((__mant_196>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_225} }&((__mant_196>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_226} }&((__mant_196>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_227} }&((__mant_196>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_228} }&((__mant_196>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_229} }&((__mant_196>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_230} }&((__mant_196>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_231} }&((__mant_196>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_198 /* 47 */ = (__sign_193 /* 48 */ )?(~__mant_sft_197 /* 48 */ ):__mant_sft_197 /* 49 */  /* 49 */ ;
assign __norms_205[1] /* 32 */ = (|(__expn_200)) /* 32 */ ;
assign __sign_199 /* 33 */ = __neg_imag_x_imag_190[31] /* 33 */ ;
assign __expn_200 /* 34 */ = __neg_imag_x_imag_190[30:23] /* 34 */ ;
assign __mant_202[22:0] /* 35 */ = __neg_imag_x_imag_190[22:0] /* 35 */ ;
assign __mant_202[23] /* 36 */ = __norms_205[1] /* 36 */ ;
assign __expn_d_201 /* 37 */ = __expn_200+!__norms_205[1] /* 37 */ ;
assign __shift_num_232 /* 38 */ = __expn_aln_206-__expn_d_201 /* 38 */ ;
assign __cond_233 /* 242 */ = 0==__shift_num_232 /* 242 */ ;
assign __cond_234 /* 242 */ = 1==__shift_num_232 /* 242 */ ;
assign __cond_235 /* 242 */ = 2==__shift_num_232 /* 242 */ ;
assign __cond_236 /* 242 */ = 3==__shift_num_232 /* 242 */ ;
assign __cond_237 /* 242 */ = 4==__shift_num_232 /* 242 */ ;
assign __cond_238 /* 242 */ = 5==__shift_num_232 /* 242 */ ;
assign __cond_239 /* 242 */ = 6==__shift_num_232 /* 242 */ ;
assign __cond_240 /* 242 */ = 7==__shift_num_232 /* 242 */ ;
assign __cond_241 /* 242 */ = 8==__shift_num_232 /* 242 */ ;
assign __cond_242 /* 242 */ = 9==__shift_num_232 /* 242 */ ;
assign __cond_243 /* 242 */ = 10==__shift_num_232 /* 242 */ ;
assign __cond_244 /* 242 */ = 11==__shift_num_232 /* 242 */ ;
assign __cond_245 /* 242 */ = 12==__shift_num_232 /* 242 */ ;
assign __cond_246 /* 242 */ = 13==__shift_num_232 /* 242 */ ;
assign __cond_247 /* 242 */ = 14==__shift_num_232 /* 242 */ ;
assign __cond_248 /* 242 */ = 15==__shift_num_232 /* 242 */ ;
assign __cond_249 /* 242 */ = 16==__shift_num_232 /* 242 */ ;
assign __cond_250 /* 242 */ = 17==__shift_num_232 /* 242 */ ;
assign __cond_251 /* 242 */ = 18==__shift_num_232 /* 242 */ ;
assign __cond_252 /* 242 */ = 19==__shift_num_232 /* 242 */ ;
assign __cond_253 /* 242 */ = 20==__shift_num_232 /* 242 */ ;
assign __cond_254 /* 242 */ = 21==__shift_num_232 /* 242 */ ;
assign __cond_255 /* 242 */ = 22==__shift_num_232 /* 242 */ ;
assign __cond_256 /* 242 */ = 23==__shift_num_232 /* 242 */ ;
assign __mant_sft_203 /* 39 */ = (__shift_num_232<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_233} }&((__mant_202>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_234} }&((__mant_202>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_235} }&((__mant_202>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_236} }&((__mant_202>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_237} }&((__mant_202>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_238} }&((__mant_202>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_239} }&((__mant_202>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_240} }&((__mant_202>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_241} }&((__mant_202>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_242} }&((__mant_202>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_243} }&((__mant_202>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_244} }&((__mant_202>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_245} }&((__mant_202>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_246} }&((__mant_202>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_247} }&((__mant_202>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_248} }&((__mant_202>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_249} }&((__mant_202>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_250} }&((__mant_202>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_251} }&((__mant_202>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_252} }&((__mant_202>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_253} }&((__mant_202>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_254} }&((__mant_202>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_255} }&((__mant_202>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_256} }&((__mant_202>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_204 /* 47 */ = (__sign_199 /* 48 */ )?(~__mant_sft_203 /* 48 */ ):__mant_sft_203 /* 49 */  /* 49 */ ;
assign ___s_reg_192[34:27] /* 51 */ = (__ctrl_valid_95 /* 52 */ )?(__expn_aln_206 /* 53 */ ):__s_reg_192[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_192[26:0] /* 57 */ = (__ctrl_valid_95 /* 58 */ )?(__mant_sgn_198+__mant_sgn_204+__sign_193+__sign_199 /* 59 */ ):__s_reg_192[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_257 /* 63 */ = __expn_d_201-__expn_d_195 /* 63 */ ;
assign __expn_aln_206 /* 64 */ = (__expn_dif_257[8] /* 65 */ )?(__expn_d_195 /* 66 */ ):__expn_d_201 /* 68 */  /* 67 */ ;
assign __expn_10r_258 /* 70 */ = __s_reg_192[34:27] /* 70 */ ;
assign __mant_10_259 /* 71 */ = __s_reg_192[26:0] /* 71 */ ;
assign __mant_10_abs_260 /* 73 */ = (__mant_10_259[26] /* 74 */ )?(~__mant_10_259 /* 74 */ ):__mant_10_259 /* 75 */  /* 75 */ ;
assign __mant_padded_261 /* 77 */ = { __mant_10_abs_260,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_263 /* 82 */ = !__mant_10_abs_260 /* 82 */ ;
assign __lead_zeros_262 /* 84 */ = (__mant_10_abs_260[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_260[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_264 /* 93 */ = __expn_10r_258+2-__lead_zeros_262 /* 93 */ ;
assign __sum_sign_265 /* 94 */ = __mant_10_259[26] /* 94 */ ;
assign __sum_expn_266 /* 95 */ = (__all_zero_263||__expn_sft_264[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_264[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_264[7:0] /* 98 */  /* 98 */ ;
assign __cond_268 /* 242 */ = 0==__lead_zeros_262 /* 242 */ ;
assign __cond_269 /* 242 */ = 1==__lead_zeros_262 /* 242 */ ;
assign __cond_270 /* 242 */ = 2==__lead_zeros_262 /* 242 */ ;
assign __cond_271 /* 242 */ = 3==__lead_zeros_262 /* 242 */ ;
assign __cond_272 /* 242 */ = 4==__lead_zeros_262 /* 242 */ ;
assign __cond_273 /* 242 */ = 5==__lead_zeros_262 /* 242 */ ;
assign __cond_274 /* 242 */ = 6==__lead_zeros_262 /* 242 */ ;
assign __cond_275 /* 242 */ = 7==__lead_zeros_262 /* 242 */ ;
assign __cond_276 /* 242 */ = 8==__lead_zeros_262 /* 242 */ ;
assign __cond_277 /* 242 */ = 9==__lead_zeros_262 /* 242 */ ;
assign __cond_278 /* 242 */ = 10==__lead_zeros_262 /* 242 */ ;
assign __cond_279 /* 242 */ = 11==__lead_zeros_262 /* 242 */ ;
assign __cond_280 /* 242 */ = 12==__lead_zeros_262 /* 242 */ ;
assign __cond_281 /* 242 */ = 13==__lead_zeros_262 /* 242 */ ;
assign __cond_282 /* 242 */ = 14==__lead_zeros_262 /* 242 */ ;
assign __cond_283 /* 242 */ = 15==__lead_zeros_262 /* 242 */ ;
assign __cond_284 /* 242 */ = 16==__lead_zeros_262 /* 242 */ ;
assign __cond_285 /* 242 */ = 17==__lead_zeros_262 /* 242 */ ;
assign __cond_286 /* 242 */ = 18==__lead_zeros_262 /* 242 */ ;
assign __cond_287 /* 242 */ = 19==__lead_zeros_262 /* 242 */ ;
assign __cond_288 /* 242 */ = 20==__lead_zeros_262 /* 242 */ ;
assign __cond_289 /* 242 */ = 21==__lead_zeros_262 /* 242 */ ;
assign __cond_290 /* 242 */ = 22==__lead_zeros_262 /* 242 */ ;
assign __cond_291 /* 242 */ = 23==__lead_zeros_262 /* 242 */ ;
assign __cond_292 /* 242 */ = 24==__lead_zeros_262 /* 242 */ ;
assign __cond_293 /* 242 */ = 25==__lead_zeros_262 /* 242 */ ;
assign __sum_mant_267 /* 100 */ = (__all_zero_263 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_268} }&((__mant_padded_261[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_269} }&((__mant_padded_261[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_270} }&((__mant_padded_261[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_271} }&((__mant_padded_261[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_272} }&((__mant_padded_261[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_273} }&((__mant_padded_261[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_274} }&((__mant_padded_261[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_275} }&((__mant_padded_261[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_276} }&((__mant_padded_261[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_277} }&((__mant_padded_261[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_278} }&((__mant_padded_261[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_279} }&((__mant_padded_261[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_280} }&((__mant_padded_261[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_281} }&((__mant_padded_261[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_282} }&((__mant_padded_261[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_283} }&((__mant_padded_261[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_284} }&((__mant_padded_261[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_285} }&((__mant_padded_261[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_286} }&((__mant_padded_261[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_287} }&((__mant_padded_261[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_288} }&((__mant_padded_261[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_289} }&((__mant_padded_261[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_290} }&((__mant_padded_261[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_291} }&((__mant_padded_261[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_292} }&((__mant_padded_261[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_293} }&((__mant_padded_261[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_191[31] /* 108 */ = __sum_sign_265 /* 108 */ ;
assign __result_191[30:23] /* 109 */ = __sum_expn_266 /* 109 */ ;
assign __result_191[22:0] /* 110 */ = __sum_mant_267 /* 110 */ ;
assign __prod_real_151 /* 215 */ = (__result_191 /* 111 */ ) /* 215 */ ;
assign __norms_308[0] /* 32 */ = (|(__expn_297)) /* 32 */ ;
assign __sign_296 /* 33 */ = __real_x_imag_154[31] /* 33 */ ;
assign __expn_297 /* 34 */ = __real_x_imag_154[30:23] /* 34 */ ;
assign __mant_299[22:0] /* 35 */ = __real_x_imag_154[22:0] /* 35 */ ;
assign __mant_299[23] /* 36 */ = __norms_308[0] /* 36 */ ;
assign __expn_d_298 /* 37 */ = __expn_297+!__norms_308[0] /* 37 */ ;
assign __shift_num_310 /* 38 */ = __expn_aln_309-__expn_d_298 /* 38 */ ;
assign __cond_311 /* 242 */ = 0==__shift_num_310 /* 242 */ ;
assign __cond_312 /* 242 */ = 1==__shift_num_310 /* 242 */ ;
assign __cond_313 /* 242 */ = 2==__shift_num_310 /* 242 */ ;
assign __cond_314 /* 242 */ = 3==__shift_num_310 /* 242 */ ;
assign __cond_315 /* 242 */ = 4==__shift_num_310 /* 242 */ ;
assign __cond_316 /* 242 */ = 5==__shift_num_310 /* 242 */ ;
assign __cond_317 /* 242 */ = 6==__shift_num_310 /* 242 */ ;
assign __cond_318 /* 242 */ = 7==__shift_num_310 /* 242 */ ;
assign __cond_319 /* 242 */ = 8==__shift_num_310 /* 242 */ ;
assign __cond_320 /* 242 */ = 9==__shift_num_310 /* 242 */ ;
assign __cond_321 /* 242 */ = 10==__shift_num_310 /* 242 */ ;
assign __cond_322 /* 242 */ = 11==__shift_num_310 /* 242 */ ;
assign __cond_323 /* 242 */ = 12==__shift_num_310 /* 242 */ ;
assign __cond_324 /* 242 */ = 13==__shift_num_310 /* 242 */ ;
assign __cond_325 /* 242 */ = 14==__shift_num_310 /* 242 */ ;
assign __cond_326 /* 242 */ = 15==__shift_num_310 /* 242 */ ;
assign __cond_327 /* 242 */ = 16==__shift_num_310 /* 242 */ ;
assign __cond_328 /* 242 */ = 17==__shift_num_310 /* 242 */ ;
assign __cond_329 /* 242 */ = 18==__shift_num_310 /* 242 */ ;
assign __cond_330 /* 242 */ = 19==__shift_num_310 /* 242 */ ;
assign __cond_331 /* 242 */ = 20==__shift_num_310 /* 242 */ ;
assign __cond_332 /* 242 */ = 21==__shift_num_310 /* 242 */ ;
assign __cond_333 /* 242 */ = 22==__shift_num_310 /* 242 */ ;
assign __cond_334 /* 242 */ = 23==__shift_num_310 /* 242 */ ;
assign __mant_sft_300 /* 39 */ = (__shift_num_310<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_311} }&((__mant_299>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_312} }&((__mant_299>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_313} }&((__mant_299>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_314} }&((__mant_299>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_315} }&((__mant_299>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_316} }&((__mant_299>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_317} }&((__mant_299>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_318} }&((__mant_299>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_319} }&((__mant_299>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_320} }&((__mant_299>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_321} }&((__mant_299>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_322} }&((__mant_299>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_323} }&((__mant_299>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_324} }&((__mant_299>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_325} }&((__mant_299>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_326} }&((__mant_299>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_327} }&((__mant_299>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_328} }&((__mant_299>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_329} }&((__mant_299>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_330} }&((__mant_299>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_331} }&((__mant_299>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_332} }&((__mant_299>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_333} }&((__mant_299>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_334} }&((__mant_299>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_301 /* 47 */ = (__sign_296 /* 48 */ )?(~__mant_sft_300 /* 48 */ ):__mant_sft_300 /* 49 */  /* 49 */ ;
assign __norms_308[1] /* 32 */ = (|(__expn_303)) /* 32 */ ;
assign __sign_302 /* 33 */ = __imag_x_real_155[31] /* 33 */ ;
assign __expn_303 /* 34 */ = __imag_x_real_155[30:23] /* 34 */ ;
assign __mant_305[22:0] /* 35 */ = __imag_x_real_155[22:0] /* 35 */ ;
assign __mant_305[23] /* 36 */ = __norms_308[1] /* 36 */ ;
assign __expn_d_304 /* 37 */ = __expn_303+!__norms_308[1] /* 37 */ ;
assign __shift_num_335 /* 38 */ = __expn_aln_309-__expn_d_304 /* 38 */ ;
assign __cond_336 /* 242 */ = 0==__shift_num_335 /* 242 */ ;
assign __cond_337 /* 242 */ = 1==__shift_num_335 /* 242 */ ;
assign __cond_338 /* 242 */ = 2==__shift_num_335 /* 242 */ ;
assign __cond_339 /* 242 */ = 3==__shift_num_335 /* 242 */ ;
assign __cond_340 /* 242 */ = 4==__shift_num_335 /* 242 */ ;
assign __cond_341 /* 242 */ = 5==__shift_num_335 /* 242 */ ;
assign __cond_342 /* 242 */ = 6==__shift_num_335 /* 242 */ ;
assign __cond_343 /* 242 */ = 7==__shift_num_335 /* 242 */ ;
assign __cond_344 /* 242 */ = 8==__shift_num_335 /* 242 */ ;
assign __cond_345 /* 242 */ = 9==__shift_num_335 /* 242 */ ;
assign __cond_346 /* 242 */ = 10==__shift_num_335 /* 242 */ ;
assign __cond_347 /* 242 */ = 11==__shift_num_335 /* 242 */ ;
assign __cond_348 /* 242 */ = 12==__shift_num_335 /* 242 */ ;
assign __cond_349 /* 242 */ = 13==__shift_num_335 /* 242 */ ;
assign __cond_350 /* 242 */ = 14==__shift_num_335 /* 242 */ ;
assign __cond_351 /* 242 */ = 15==__shift_num_335 /* 242 */ ;
assign __cond_352 /* 242 */ = 16==__shift_num_335 /* 242 */ ;
assign __cond_353 /* 242 */ = 17==__shift_num_335 /* 242 */ ;
assign __cond_354 /* 242 */ = 18==__shift_num_335 /* 242 */ ;
assign __cond_355 /* 242 */ = 19==__shift_num_335 /* 242 */ ;
assign __cond_356 /* 242 */ = 20==__shift_num_335 /* 242 */ ;
assign __cond_357 /* 242 */ = 21==__shift_num_335 /* 242 */ ;
assign __cond_358 /* 242 */ = 22==__shift_num_335 /* 242 */ ;
assign __cond_359 /* 242 */ = 23==__shift_num_335 /* 242 */ ;
assign __mant_sft_306 /* 39 */ = (__shift_num_335<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_336} }&((__mant_305>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_337} }&((__mant_305>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_338} }&((__mant_305>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_339} }&((__mant_305>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_340} }&((__mant_305>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_341} }&((__mant_305>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_342} }&((__mant_305>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_343} }&((__mant_305>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_344} }&((__mant_305>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_345} }&((__mant_305>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_346} }&((__mant_305>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_347} }&((__mant_305>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_348} }&((__mant_305>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_349} }&((__mant_305>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_350} }&((__mant_305>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_351} }&((__mant_305>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_352} }&((__mant_305>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_353} }&((__mant_305>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_354} }&((__mant_305>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_355} }&((__mant_305>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_356} }&((__mant_305>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_357} }&((__mant_305>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_358} }&((__mant_305>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_359} }&((__mant_305>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_307 /* 47 */ = (__sign_302 /* 48 */ )?(~__mant_sft_306 /* 48 */ ):__mant_sft_306 /* 49 */  /* 49 */ ;
assign ___s_reg_295[34:27] /* 51 */ = (__ctrl_valid_95 /* 52 */ )?(__expn_aln_309 /* 53 */ ):__s_reg_295[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_295[26:0] /* 57 */ = (__ctrl_valid_95 /* 58 */ )?(__mant_sgn_301+__mant_sgn_307+__sign_296+__sign_302 /* 59 */ ):__s_reg_295[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_360 /* 63 */ = __expn_d_304-__expn_d_298 /* 63 */ ;
assign __expn_aln_309 /* 64 */ = (__expn_dif_360[8] /* 65 */ )?(__expn_d_298 /* 66 */ ):__expn_d_304 /* 68 */  /* 67 */ ;
assign __expn_10r_361 /* 70 */ = __s_reg_295[34:27] /* 70 */ ;
assign __mant_10_362 /* 71 */ = __s_reg_295[26:0] /* 71 */ ;
assign __mant_10_abs_363 /* 73 */ = (__mant_10_362[26] /* 74 */ )?(~__mant_10_362 /* 74 */ ):__mant_10_362 /* 75 */  /* 75 */ ;
assign __mant_padded_364 /* 77 */ = { __mant_10_abs_363,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_366 /* 82 */ = !__mant_10_abs_363 /* 82 */ ;
assign __lead_zeros_365 /* 84 */ = (__mant_10_abs_363[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_363[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_367 /* 93 */ = __expn_10r_361+2-__lead_zeros_365 /* 93 */ ;
assign __sum_sign_368 /* 94 */ = __mant_10_362[26] /* 94 */ ;
assign __sum_expn_369 /* 95 */ = (__all_zero_366||__expn_sft_367[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_367[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_367[7:0] /* 98 */  /* 98 */ ;
assign __cond_371 /* 242 */ = 0==__lead_zeros_365 /* 242 */ ;
assign __cond_372 /* 242 */ = 1==__lead_zeros_365 /* 242 */ ;
assign __cond_373 /* 242 */ = 2==__lead_zeros_365 /* 242 */ ;
assign __cond_374 /* 242 */ = 3==__lead_zeros_365 /* 242 */ ;
assign __cond_375 /* 242 */ = 4==__lead_zeros_365 /* 242 */ ;
assign __cond_376 /* 242 */ = 5==__lead_zeros_365 /* 242 */ ;
assign __cond_377 /* 242 */ = 6==__lead_zeros_365 /* 242 */ ;
assign __cond_378 /* 242 */ = 7==__lead_zeros_365 /* 242 */ ;
assign __cond_379 /* 242 */ = 8==__lead_zeros_365 /* 242 */ ;
assign __cond_380 /* 242 */ = 9==__lead_zeros_365 /* 242 */ ;
assign __cond_381 /* 242 */ = 10==__lead_zeros_365 /* 242 */ ;
assign __cond_382 /* 242 */ = 11==__lead_zeros_365 /* 242 */ ;
assign __cond_383 /* 242 */ = 12==__lead_zeros_365 /* 242 */ ;
assign __cond_384 /* 242 */ = 13==__lead_zeros_365 /* 242 */ ;
assign __cond_385 /* 242 */ = 14==__lead_zeros_365 /* 242 */ ;
assign __cond_386 /* 242 */ = 15==__lead_zeros_365 /* 242 */ ;
assign __cond_387 /* 242 */ = 16==__lead_zeros_365 /* 242 */ ;
assign __cond_388 /* 242 */ = 17==__lead_zeros_365 /* 242 */ ;
assign __cond_389 /* 242 */ = 18==__lead_zeros_365 /* 242 */ ;
assign __cond_390 /* 242 */ = 19==__lead_zeros_365 /* 242 */ ;
assign __cond_391 /* 242 */ = 20==__lead_zeros_365 /* 242 */ ;
assign __cond_392 /* 242 */ = 21==__lead_zeros_365 /* 242 */ ;
assign __cond_393 /* 242 */ = 22==__lead_zeros_365 /* 242 */ ;
assign __cond_394 /* 242 */ = 23==__lead_zeros_365 /* 242 */ ;
assign __cond_395 /* 242 */ = 24==__lead_zeros_365 /* 242 */ ;
assign __cond_396 /* 242 */ = 25==__lead_zeros_365 /* 242 */ ;
assign __sum_mant_370 /* 100 */ = (__all_zero_366 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_371} }&((__mant_padded_364[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_372} }&((__mant_padded_364[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_373} }&((__mant_padded_364[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_374} }&((__mant_padded_364[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_375} }&((__mant_padded_364[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_376} }&((__mant_padded_364[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_377} }&((__mant_padded_364[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_378} }&((__mant_padded_364[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_379} }&((__mant_padded_364[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_380} }&((__mant_padded_364[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_381} }&((__mant_padded_364[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_382} }&((__mant_padded_364[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_383} }&((__mant_padded_364[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_384} }&((__mant_padded_364[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_385} }&((__mant_padded_364[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_386} }&((__mant_padded_364[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_387} }&((__mant_padded_364[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_388} }&((__mant_padded_364[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_389} }&((__mant_padded_364[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_390} }&((__mant_padded_364[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_391} }&((__mant_padded_364[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_392} }&((__mant_padded_364[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_393} }&((__mant_padded_364[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_394} }&((__mant_padded_364[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_395} }&((__mant_padded_364[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_396} }&((__mant_padded_364[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_294[31] /* 108 */ = __sum_sign_368 /* 108 */ ;
assign __result_294[30:23] /* 109 */ = __sum_expn_369 /* 109 */ ;
assign __result_294[22:0] /* 110 */ = __sum_mant_370 /* 110 */ ;
assign __prod_imag_152 /* 216 */ = (__result_294 /* 111 */ ) /* 216 */ ;
assign ___complex_prod_157 /* 218 */ = (__ctrl_valid_99 /* 219 */ )?({ __prod_real_151,__prod_imag_152 } /* 220 */ ):__complex_prod_157 /* 222 */  /* 221 */ ;
assign __e_146 /* 545 */ = (__complex_prod_157 /* 225 */ ) /* 545 */ ;
assign __neg_e_397 /* 548 */ = { 1'b1,__e_146[62:0] } /* 548 */ ;
assign __a_1_real_398 /* 163 */ = __t_145[63:32] /* 163 */ ;
assign __a_1_imag_399 /* 164 */ = __t_145[31:0] /* 164 */ ;
assign __a_2_real_400 /* 166 */ = __e_146[63:32] /* 166 */ ;
assign __a_2_imag_401 /* 167 */ = __e_146[31:0] /* 167 */ ;
assign __norms_419[0] /* 32 */ = (|(__expn_408)) /* 32 */ ;
assign __sign_407 /* 33 */ = __a_1_real_398[31] /* 33 */ ;
assign __expn_408 /* 34 */ = __a_1_real_398[30:23] /* 34 */ ;
assign __mant_410[22:0] /* 35 */ = __a_1_real_398[22:0] /* 35 */ ;
assign __mant_410[23] /* 36 */ = __norms_419[0] /* 36 */ ;
assign __expn_d_409 /* 37 */ = __expn_408+!__norms_419[0] /* 37 */ ;
assign __shift_num_421 /* 38 */ = __expn_aln_420-__expn_d_409 /* 38 */ ;
assign __cond_422 /* 242 */ = 0==__shift_num_421 /* 242 */ ;
assign __cond_423 /* 242 */ = 1==__shift_num_421 /* 242 */ ;
assign __cond_424 /* 242 */ = 2==__shift_num_421 /* 242 */ ;
assign __cond_425 /* 242 */ = 3==__shift_num_421 /* 242 */ ;
assign __cond_426 /* 242 */ = 4==__shift_num_421 /* 242 */ ;
assign __cond_427 /* 242 */ = 5==__shift_num_421 /* 242 */ ;
assign __cond_428 /* 242 */ = 6==__shift_num_421 /* 242 */ ;
assign __cond_429 /* 242 */ = 7==__shift_num_421 /* 242 */ ;
assign __cond_430 /* 242 */ = 8==__shift_num_421 /* 242 */ ;
assign __cond_431 /* 242 */ = 9==__shift_num_421 /* 242 */ ;
assign __cond_432 /* 242 */ = 10==__shift_num_421 /* 242 */ ;
assign __cond_433 /* 242 */ = 11==__shift_num_421 /* 242 */ ;
assign __cond_434 /* 242 */ = 12==__shift_num_421 /* 242 */ ;
assign __cond_435 /* 242 */ = 13==__shift_num_421 /* 242 */ ;
assign __cond_436 /* 242 */ = 14==__shift_num_421 /* 242 */ ;
assign __cond_437 /* 242 */ = 15==__shift_num_421 /* 242 */ ;
assign __cond_438 /* 242 */ = 16==__shift_num_421 /* 242 */ ;
assign __cond_439 /* 242 */ = 17==__shift_num_421 /* 242 */ ;
assign __cond_440 /* 242 */ = 18==__shift_num_421 /* 242 */ ;
assign __cond_441 /* 242 */ = 19==__shift_num_421 /* 242 */ ;
assign __cond_442 /* 242 */ = 20==__shift_num_421 /* 242 */ ;
assign __cond_443 /* 242 */ = 21==__shift_num_421 /* 242 */ ;
assign __cond_444 /* 242 */ = 22==__shift_num_421 /* 242 */ ;
assign __cond_445 /* 242 */ = 23==__shift_num_421 /* 242 */ ;
assign __mant_sft_411 /* 39 */ = (__shift_num_421<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_422} }&((__mant_410>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_423} }&((__mant_410>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_424} }&((__mant_410>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_425} }&((__mant_410>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_426} }&((__mant_410>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_427} }&((__mant_410>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_428} }&((__mant_410>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_429} }&((__mant_410>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_430} }&((__mant_410>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_431} }&((__mant_410>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_432} }&((__mant_410>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_433} }&((__mant_410>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_434} }&((__mant_410>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_435} }&((__mant_410>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_436} }&((__mant_410>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_437} }&((__mant_410>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_438} }&((__mant_410>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_439} }&((__mant_410>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_440} }&((__mant_410>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_441} }&((__mant_410>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_442} }&((__mant_410>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_443} }&((__mant_410>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_444} }&((__mant_410>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_445} }&((__mant_410>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_412 /* 47 */ = (__sign_407 /* 48 */ )?(~__mant_sft_411 /* 48 */ ):__mant_sft_411 /* 49 */  /* 49 */ ;
assign __norms_419[1] /* 32 */ = (|(__expn_414)) /* 32 */ ;
assign __sign_413 /* 33 */ = __a_2_real_400[31] /* 33 */ ;
assign __expn_414 /* 34 */ = __a_2_real_400[30:23] /* 34 */ ;
assign __mant_416[22:0] /* 35 */ = __a_2_real_400[22:0] /* 35 */ ;
assign __mant_416[23] /* 36 */ = __norms_419[1] /* 36 */ ;
assign __expn_d_415 /* 37 */ = __expn_414+!__norms_419[1] /* 37 */ ;
assign __shift_num_446 /* 38 */ = __expn_aln_420-__expn_d_415 /* 38 */ ;
assign __cond_447 /* 242 */ = 0==__shift_num_446 /* 242 */ ;
assign __cond_448 /* 242 */ = 1==__shift_num_446 /* 242 */ ;
assign __cond_449 /* 242 */ = 2==__shift_num_446 /* 242 */ ;
assign __cond_450 /* 242 */ = 3==__shift_num_446 /* 242 */ ;
assign __cond_451 /* 242 */ = 4==__shift_num_446 /* 242 */ ;
assign __cond_452 /* 242 */ = 5==__shift_num_446 /* 242 */ ;
assign __cond_453 /* 242 */ = 6==__shift_num_446 /* 242 */ ;
assign __cond_454 /* 242 */ = 7==__shift_num_446 /* 242 */ ;
assign __cond_455 /* 242 */ = 8==__shift_num_446 /* 242 */ ;
assign __cond_456 /* 242 */ = 9==__shift_num_446 /* 242 */ ;
assign __cond_457 /* 242 */ = 10==__shift_num_446 /* 242 */ ;
assign __cond_458 /* 242 */ = 11==__shift_num_446 /* 242 */ ;
assign __cond_459 /* 242 */ = 12==__shift_num_446 /* 242 */ ;
assign __cond_460 /* 242 */ = 13==__shift_num_446 /* 242 */ ;
assign __cond_461 /* 242 */ = 14==__shift_num_446 /* 242 */ ;
assign __cond_462 /* 242 */ = 15==__shift_num_446 /* 242 */ ;
assign __cond_463 /* 242 */ = 16==__shift_num_446 /* 242 */ ;
assign __cond_464 /* 242 */ = 17==__shift_num_446 /* 242 */ ;
assign __cond_465 /* 242 */ = 18==__shift_num_446 /* 242 */ ;
assign __cond_466 /* 242 */ = 19==__shift_num_446 /* 242 */ ;
assign __cond_467 /* 242 */ = 20==__shift_num_446 /* 242 */ ;
assign __cond_468 /* 242 */ = 21==__shift_num_446 /* 242 */ ;
assign __cond_469 /* 242 */ = 22==__shift_num_446 /* 242 */ ;
assign __cond_470 /* 242 */ = 23==__shift_num_446 /* 242 */ ;
assign __mant_sft_417 /* 39 */ = (__shift_num_446<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_447} }&((__mant_416>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_448} }&((__mant_416>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_449} }&((__mant_416>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_450} }&((__mant_416>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_451} }&((__mant_416>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_452} }&((__mant_416>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_453} }&((__mant_416>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_454} }&((__mant_416>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_455} }&((__mant_416>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_456} }&((__mant_416>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_457} }&((__mant_416>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_458} }&((__mant_416>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_459} }&((__mant_416>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_460} }&((__mant_416>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_461} }&((__mant_416>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_462} }&((__mant_416>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_463} }&((__mant_416>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_464} }&((__mant_416>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_465} }&((__mant_416>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_466} }&((__mant_416>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_467} }&((__mant_416>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_468} }&((__mant_416>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_469} }&((__mant_416>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_470} }&((__mant_416>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_418 /* 47 */ = (__sign_413 /* 48 */ )?(~__mant_sft_417 /* 48 */ ):__mant_sft_417 /* 49 */  /* 49 */ ;
assign ___s_reg_406[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_420 /* 53 */ ):__s_reg_406[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_406[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_412+__mant_sgn_418+__sign_407+__sign_413 /* 59 */ ):__s_reg_406[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_471 /* 63 */ = __expn_d_415-__expn_d_409 /* 63 */ ;
assign __expn_aln_420 /* 64 */ = (__expn_dif_471[8] /* 65 */ )?(__expn_d_409 /* 66 */ ):__expn_d_415 /* 68 */  /* 67 */ ;
assign __expn_10r_472 /* 70 */ = __s_reg_406[34:27] /* 70 */ ;
assign __mant_10_473 /* 71 */ = __s_reg_406[26:0] /* 71 */ ;
assign __mant_10_abs_474 /* 73 */ = (__mant_10_473[26] /* 74 */ )?(~__mant_10_473 /* 74 */ ):__mant_10_473 /* 75 */  /* 75 */ ;
assign __mant_padded_475 /* 77 */ = { __mant_10_abs_474,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_477 /* 82 */ = !__mant_10_abs_474 /* 82 */ ;
assign __lead_zeros_476 /* 84 */ = (__mant_10_abs_474[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_474[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_478 /* 93 */ = __expn_10r_472+2-__lead_zeros_476 /* 93 */ ;
assign __sum_sign_479 /* 94 */ = __mant_10_473[26] /* 94 */ ;
assign __sum_expn_480 /* 95 */ = (__all_zero_477||__expn_sft_478[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_478[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_478[7:0] /* 98 */  /* 98 */ ;
assign __cond_482 /* 242 */ = 0==__lead_zeros_476 /* 242 */ ;
assign __cond_483 /* 242 */ = 1==__lead_zeros_476 /* 242 */ ;
assign __cond_484 /* 242 */ = 2==__lead_zeros_476 /* 242 */ ;
assign __cond_485 /* 242 */ = 3==__lead_zeros_476 /* 242 */ ;
assign __cond_486 /* 242 */ = 4==__lead_zeros_476 /* 242 */ ;
assign __cond_487 /* 242 */ = 5==__lead_zeros_476 /* 242 */ ;
assign __cond_488 /* 242 */ = 6==__lead_zeros_476 /* 242 */ ;
assign __cond_489 /* 242 */ = 7==__lead_zeros_476 /* 242 */ ;
assign __cond_490 /* 242 */ = 8==__lead_zeros_476 /* 242 */ ;
assign __cond_491 /* 242 */ = 9==__lead_zeros_476 /* 242 */ ;
assign __cond_492 /* 242 */ = 10==__lead_zeros_476 /* 242 */ ;
assign __cond_493 /* 242 */ = 11==__lead_zeros_476 /* 242 */ ;
assign __cond_494 /* 242 */ = 12==__lead_zeros_476 /* 242 */ ;
assign __cond_495 /* 242 */ = 13==__lead_zeros_476 /* 242 */ ;
assign __cond_496 /* 242 */ = 14==__lead_zeros_476 /* 242 */ ;
assign __cond_497 /* 242 */ = 15==__lead_zeros_476 /* 242 */ ;
assign __cond_498 /* 242 */ = 16==__lead_zeros_476 /* 242 */ ;
assign __cond_499 /* 242 */ = 17==__lead_zeros_476 /* 242 */ ;
assign __cond_500 /* 242 */ = 18==__lead_zeros_476 /* 242 */ ;
assign __cond_501 /* 242 */ = 19==__lead_zeros_476 /* 242 */ ;
assign __cond_502 /* 242 */ = 20==__lead_zeros_476 /* 242 */ ;
assign __cond_503 /* 242 */ = 21==__lead_zeros_476 /* 242 */ ;
assign __cond_504 /* 242 */ = 22==__lead_zeros_476 /* 242 */ ;
assign __cond_505 /* 242 */ = 23==__lead_zeros_476 /* 242 */ ;
assign __cond_506 /* 242 */ = 24==__lead_zeros_476 /* 242 */ ;
assign __cond_507 /* 242 */ = 25==__lead_zeros_476 /* 242 */ ;
assign __sum_mant_481 /* 100 */ = (__all_zero_477 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_482} }&((__mant_padded_475[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_483} }&((__mant_padded_475[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_484} }&((__mant_padded_475[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_485} }&((__mant_padded_475[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_486} }&((__mant_padded_475[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_487} }&((__mant_padded_475[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_488} }&((__mant_padded_475[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_489} }&((__mant_padded_475[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_490} }&((__mant_padded_475[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_491} }&((__mant_padded_475[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_492} }&((__mant_padded_475[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_493} }&((__mant_padded_475[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_494} }&((__mant_padded_475[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_495} }&((__mant_padded_475[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_496} }&((__mant_padded_475[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_497} }&((__mant_padded_475[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_498} }&((__mant_padded_475[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_499} }&((__mant_padded_475[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_500} }&((__mant_padded_475[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_501} }&((__mant_padded_475[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_502} }&((__mant_padded_475[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_503} }&((__mant_padded_475[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_504} }&((__mant_padded_475[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_505} }&((__mant_padded_475[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_506} }&((__mant_padded_475[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_507} }&((__mant_padded_475[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_405[31] /* 108 */ = __sum_sign_479 /* 108 */ ;
assign __result_405[30:23] /* 109 */ = __sum_expn_480 /* 109 */ ;
assign __result_405[22:0] /* 110 */ = __sum_mant_481 /* 110 */ ;
assign __sum_real_402 /* 171 */ = (__result_405 /* 111 */ ) /* 171 */ ;
assign __norms_522[0] /* 32 */ = (|(__expn_511)) /* 32 */ ;
assign __sign_510 /* 33 */ = __a_1_imag_399[31] /* 33 */ ;
assign __expn_511 /* 34 */ = __a_1_imag_399[30:23] /* 34 */ ;
assign __mant_513[22:0] /* 35 */ = __a_1_imag_399[22:0] /* 35 */ ;
assign __mant_513[23] /* 36 */ = __norms_522[0] /* 36 */ ;
assign __expn_d_512 /* 37 */ = __expn_511+!__norms_522[0] /* 37 */ ;
assign __shift_num_524 /* 38 */ = __expn_aln_523-__expn_d_512 /* 38 */ ;
assign __cond_525 /* 242 */ = 0==__shift_num_524 /* 242 */ ;
assign __cond_526 /* 242 */ = 1==__shift_num_524 /* 242 */ ;
assign __cond_527 /* 242 */ = 2==__shift_num_524 /* 242 */ ;
assign __cond_528 /* 242 */ = 3==__shift_num_524 /* 242 */ ;
assign __cond_529 /* 242 */ = 4==__shift_num_524 /* 242 */ ;
assign __cond_530 /* 242 */ = 5==__shift_num_524 /* 242 */ ;
assign __cond_531 /* 242 */ = 6==__shift_num_524 /* 242 */ ;
assign __cond_532 /* 242 */ = 7==__shift_num_524 /* 242 */ ;
assign __cond_533 /* 242 */ = 8==__shift_num_524 /* 242 */ ;
assign __cond_534 /* 242 */ = 9==__shift_num_524 /* 242 */ ;
assign __cond_535 /* 242 */ = 10==__shift_num_524 /* 242 */ ;
assign __cond_536 /* 242 */ = 11==__shift_num_524 /* 242 */ ;
assign __cond_537 /* 242 */ = 12==__shift_num_524 /* 242 */ ;
assign __cond_538 /* 242 */ = 13==__shift_num_524 /* 242 */ ;
assign __cond_539 /* 242 */ = 14==__shift_num_524 /* 242 */ ;
assign __cond_540 /* 242 */ = 15==__shift_num_524 /* 242 */ ;
assign __cond_541 /* 242 */ = 16==__shift_num_524 /* 242 */ ;
assign __cond_542 /* 242 */ = 17==__shift_num_524 /* 242 */ ;
assign __cond_543 /* 242 */ = 18==__shift_num_524 /* 242 */ ;
assign __cond_544 /* 242 */ = 19==__shift_num_524 /* 242 */ ;
assign __cond_545 /* 242 */ = 20==__shift_num_524 /* 242 */ ;
assign __cond_546 /* 242 */ = 21==__shift_num_524 /* 242 */ ;
assign __cond_547 /* 242 */ = 22==__shift_num_524 /* 242 */ ;
assign __cond_548 /* 242 */ = 23==__shift_num_524 /* 242 */ ;
assign __mant_sft_514 /* 39 */ = (__shift_num_524<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_525} }&((__mant_513>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_526} }&((__mant_513>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_527} }&((__mant_513>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_528} }&((__mant_513>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_529} }&((__mant_513>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_530} }&((__mant_513>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_531} }&((__mant_513>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_532} }&((__mant_513>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_533} }&((__mant_513>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_534} }&((__mant_513>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_535} }&((__mant_513>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_536} }&((__mant_513>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_537} }&((__mant_513>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_538} }&((__mant_513>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_539} }&((__mant_513>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_540} }&((__mant_513>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_541} }&((__mant_513>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_542} }&((__mant_513>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_543} }&((__mant_513>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_544} }&((__mant_513>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_545} }&((__mant_513>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_546} }&((__mant_513>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_547} }&((__mant_513>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_548} }&((__mant_513>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_515 /* 47 */ = (__sign_510 /* 48 */ )?(~__mant_sft_514 /* 48 */ ):__mant_sft_514 /* 49 */  /* 49 */ ;
assign __norms_522[1] /* 32 */ = (|(__expn_517)) /* 32 */ ;
assign __sign_516 /* 33 */ = __a_2_imag_401[31] /* 33 */ ;
assign __expn_517 /* 34 */ = __a_2_imag_401[30:23] /* 34 */ ;
assign __mant_519[22:0] /* 35 */ = __a_2_imag_401[22:0] /* 35 */ ;
assign __mant_519[23] /* 36 */ = __norms_522[1] /* 36 */ ;
assign __expn_d_518 /* 37 */ = __expn_517+!__norms_522[1] /* 37 */ ;
assign __shift_num_549 /* 38 */ = __expn_aln_523-__expn_d_518 /* 38 */ ;
assign __cond_550 /* 242 */ = 0==__shift_num_549 /* 242 */ ;
assign __cond_551 /* 242 */ = 1==__shift_num_549 /* 242 */ ;
assign __cond_552 /* 242 */ = 2==__shift_num_549 /* 242 */ ;
assign __cond_553 /* 242 */ = 3==__shift_num_549 /* 242 */ ;
assign __cond_554 /* 242 */ = 4==__shift_num_549 /* 242 */ ;
assign __cond_555 /* 242 */ = 5==__shift_num_549 /* 242 */ ;
assign __cond_556 /* 242 */ = 6==__shift_num_549 /* 242 */ ;
assign __cond_557 /* 242 */ = 7==__shift_num_549 /* 242 */ ;
assign __cond_558 /* 242 */ = 8==__shift_num_549 /* 242 */ ;
assign __cond_559 /* 242 */ = 9==__shift_num_549 /* 242 */ ;
assign __cond_560 /* 242 */ = 10==__shift_num_549 /* 242 */ ;
assign __cond_561 /* 242 */ = 11==__shift_num_549 /* 242 */ ;
assign __cond_562 /* 242 */ = 12==__shift_num_549 /* 242 */ ;
assign __cond_563 /* 242 */ = 13==__shift_num_549 /* 242 */ ;
assign __cond_564 /* 242 */ = 14==__shift_num_549 /* 242 */ ;
assign __cond_565 /* 242 */ = 15==__shift_num_549 /* 242 */ ;
assign __cond_566 /* 242 */ = 16==__shift_num_549 /* 242 */ ;
assign __cond_567 /* 242 */ = 17==__shift_num_549 /* 242 */ ;
assign __cond_568 /* 242 */ = 18==__shift_num_549 /* 242 */ ;
assign __cond_569 /* 242 */ = 19==__shift_num_549 /* 242 */ ;
assign __cond_570 /* 242 */ = 20==__shift_num_549 /* 242 */ ;
assign __cond_571 /* 242 */ = 21==__shift_num_549 /* 242 */ ;
assign __cond_572 /* 242 */ = 22==__shift_num_549 /* 242 */ ;
assign __cond_573 /* 242 */ = 23==__shift_num_549 /* 242 */ ;
assign __mant_sft_520 /* 39 */ = (__shift_num_549<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_550} }&((__mant_519>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_551} }&((__mant_519>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_552} }&((__mant_519>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_553} }&((__mant_519>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_554} }&((__mant_519>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_555} }&((__mant_519>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_556} }&((__mant_519>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_557} }&((__mant_519>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_558} }&((__mant_519>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_559} }&((__mant_519>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_560} }&((__mant_519>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_561} }&((__mant_519>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_562} }&((__mant_519>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_563} }&((__mant_519>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_564} }&((__mant_519>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_565} }&((__mant_519>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_566} }&((__mant_519>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_567} }&((__mant_519>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_568} }&((__mant_519>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_569} }&((__mant_519>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_570} }&((__mant_519>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_571} }&((__mant_519>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_572} }&((__mant_519>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_573} }&((__mant_519>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_521 /* 47 */ = (__sign_516 /* 48 */ )?(~__mant_sft_520 /* 48 */ ):__mant_sft_520 /* 49 */  /* 49 */ ;
assign ___s_reg_509[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_523 /* 53 */ ):__s_reg_509[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_509[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_515+__mant_sgn_521+__sign_510+__sign_516 /* 59 */ ):__s_reg_509[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_574 /* 63 */ = __expn_d_518-__expn_d_512 /* 63 */ ;
assign __expn_aln_523 /* 64 */ = (__expn_dif_574[8] /* 65 */ )?(__expn_d_512 /* 66 */ ):__expn_d_518 /* 68 */  /* 67 */ ;
assign __expn_10r_575 /* 70 */ = __s_reg_509[34:27] /* 70 */ ;
assign __mant_10_576 /* 71 */ = __s_reg_509[26:0] /* 71 */ ;
assign __mant_10_abs_577 /* 73 */ = (__mant_10_576[26] /* 74 */ )?(~__mant_10_576 /* 74 */ ):__mant_10_576 /* 75 */  /* 75 */ ;
assign __mant_padded_578 /* 77 */ = { __mant_10_abs_577,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_580 /* 82 */ = !__mant_10_abs_577 /* 82 */ ;
assign __lead_zeros_579 /* 84 */ = (__mant_10_abs_577[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_577[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_581 /* 93 */ = __expn_10r_575+2-__lead_zeros_579 /* 93 */ ;
assign __sum_sign_582 /* 94 */ = __mant_10_576[26] /* 94 */ ;
assign __sum_expn_583 /* 95 */ = (__all_zero_580||__expn_sft_581[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_581[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_581[7:0] /* 98 */  /* 98 */ ;
assign __cond_585 /* 242 */ = 0==__lead_zeros_579 /* 242 */ ;
assign __cond_586 /* 242 */ = 1==__lead_zeros_579 /* 242 */ ;
assign __cond_587 /* 242 */ = 2==__lead_zeros_579 /* 242 */ ;
assign __cond_588 /* 242 */ = 3==__lead_zeros_579 /* 242 */ ;
assign __cond_589 /* 242 */ = 4==__lead_zeros_579 /* 242 */ ;
assign __cond_590 /* 242 */ = 5==__lead_zeros_579 /* 242 */ ;
assign __cond_591 /* 242 */ = 6==__lead_zeros_579 /* 242 */ ;
assign __cond_592 /* 242 */ = 7==__lead_zeros_579 /* 242 */ ;
assign __cond_593 /* 242 */ = 8==__lead_zeros_579 /* 242 */ ;
assign __cond_594 /* 242 */ = 9==__lead_zeros_579 /* 242 */ ;
assign __cond_595 /* 242 */ = 10==__lead_zeros_579 /* 242 */ ;
assign __cond_596 /* 242 */ = 11==__lead_zeros_579 /* 242 */ ;
assign __cond_597 /* 242 */ = 12==__lead_zeros_579 /* 242 */ ;
assign __cond_598 /* 242 */ = 13==__lead_zeros_579 /* 242 */ ;
assign __cond_599 /* 242 */ = 14==__lead_zeros_579 /* 242 */ ;
assign __cond_600 /* 242 */ = 15==__lead_zeros_579 /* 242 */ ;
assign __cond_601 /* 242 */ = 16==__lead_zeros_579 /* 242 */ ;
assign __cond_602 /* 242 */ = 17==__lead_zeros_579 /* 242 */ ;
assign __cond_603 /* 242 */ = 18==__lead_zeros_579 /* 242 */ ;
assign __cond_604 /* 242 */ = 19==__lead_zeros_579 /* 242 */ ;
assign __cond_605 /* 242 */ = 20==__lead_zeros_579 /* 242 */ ;
assign __cond_606 /* 242 */ = 21==__lead_zeros_579 /* 242 */ ;
assign __cond_607 /* 242 */ = 22==__lead_zeros_579 /* 242 */ ;
assign __cond_608 /* 242 */ = 23==__lead_zeros_579 /* 242 */ ;
assign __cond_609 /* 242 */ = 24==__lead_zeros_579 /* 242 */ ;
assign __cond_610 /* 242 */ = 25==__lead_zeros_579 /* 242 */ ;
assign __sum_mant_584 /* 100 */ = (__all_zero_580 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_585} }&((__mant_padded_578[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_586} }&((__mant_padded_578[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_587} }&((__mant_padded_578[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_588} }&((__mant_padded_578[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_589} }&((__mant_padded_578[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_590} }&((__mant_padded_578[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_591} }&((__mant_padded_578[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_592} }&((__mant_padded_578[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_593} }&((__mant_padded_578[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_594} }&((__mant_padded_578[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_595} }&((__mant_padded_578[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_596} }&((__mant_padded_578[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_597} }&((__mant_padded_578[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_598} }&((__mant_padded_578[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_599} }&((__mant_padded_578[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_600} }&((__mant_padded_578[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_601} }&((__mant_padded_578[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_602} }&((__mant_padded_578[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_603} }&((__mant_padded_578[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_604} }&((__mant_padded_578[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_605} }&((__mant_padded_578[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_606} }&((__mant_padded_578[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_607} }&((__mant_padded_578[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_608} }&((__mant_padded_578[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_609} }&((__mant_padded_578[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_610} }&((__mant_padded_578[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_508[31] /* 108 */ = __sum_sign_582 /* 108 */ ;
assign __result_508[30:23] /* 109 */ = __sum_expn_583 /* 109 */ ;
assign __result_508[22:0] /* 110 */ = __sum_mant_584 /* 110 */ ;
assign __sum_imag_403 /* 172 */ = (__result_508 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_404 /* 174 */ = (__ctrl_valid_107 /* 175 */ )?({ __sum_real_402,__sum_imag_403 } /* 176 */ ):__complex_sum_404 /* 178 */  /* 177 */ ;
assign __out_add_143 /* 550 */ = (__complex_sum_404 /* 180 */ ) /* 550 */ ;
assign __a_1_real_611 /* 163 */ = __t_145[63:32] /* 163 */ ;
assign __a_1_imag_612 /* 164 */ = __t_145[31:0] /* 164 */ ;
assign __a_2_real_613 /* 166 */ = __neg_e_397[63:32] /* 166 */ ;
assign __a_2_imag_614 /* 167 */ = __neg_e_397[31:0] /* 167 */ ;
assign __norms_632[0] /* 32 */ = (|(__expn_621)) /* 32 */ ;
assign __sign_620 /* 33 */ = __a_1_real_611[31] /* 33 */ ;
assign __expn_621 /* 34 */ = __a_1_real_611[30:23] /* 34 */ ;
assign __mant_623[22:0] /* 35 */ = __a_1_real_611[22:0] /* 35 */ ;
assign __mant_623[23] /* 36 */ = __norms_632[0] /* 36 */ ;
assign __expn_d_622 /* 37 */ = __expn_621+!__norms_632[0] /* 37 */ ;
assign __shift_num_634 /* 38 */ = __expn_aln_633-__expn_d_622 /* 38 */ ;
assign __cond_635 /* 242 */ = 0==__shift_num_634 /* 242 */ ;
assign __cond_636 /* 242 */ = 1==__shift_num_634 /* 242 */ ;
assign __cond_637 /* 242 */ = 2==__shift_num_634 /* 242 */ ;
assign __cond_638 /* 242 */ = 3==__shift_num_634 /* 242 */ ;
assign __cond_639 /* 242 */ = 4==__shift_num_634 /* 242 */ ;
assign __cond_640 /* 242 */ = 5==__shift_num_634 /* 242 */ ;
assign __cond_641 /* 242 */ = 6==__shift_num_634 /* 242 */ ;
assign __cond_642 /* 242 */ = 7==__shift_num_634 /* 242 */ ;
assign __cond_643 /* 242 */ = 8==__shift_num_634 /* 242 */ ;
assign __cond_644 /* 242 */ = 9==__shift_num_634 /* 242 */ ;
assign __cond_645 /* 242 */ = 10==__shift_num_634 /* 242 */ ;
assign __cond_646 /* 242 */ = 11==__shift_num_634 /* 242 */ ;
assign __cond_647 /* 242 */ = 12==__shift_num_634 /* 242 */ ;
assign __cond_648 /* 242 */ = 13==__shift_num_634 /* 242 */ ;
assign __cond_649 /* 242 */ = 14==__shift_num_634 /* 242 */ ;
assign __cond_650 /* 242 */ = 15==__shift_num_634 /* 242 */ ;
assign __cond_651 /* 242 */ = 16==__shift_num_634 /* 242 */ ;
assign __cond_652 /* 242 */ = 17==__shift_num_634 /* 242 */ ;
assign __cond_653 /* 242 */ = 18==__shift_num_634 /* 242 */ ;
assign __cond_654 /* 242 */ = 19==__shift_num_634 /* 242 */ ;
assign __cond_655 /* 242 */ = 20==__shift_num_634 /* 242 */ ;
assign __cond_656 /* 242 */ = 21==__shift_num_634 /* 242 */ ;
assign __cond_657 /* 242 */ = 22==__shift_num_634 /* 242 */ ;
assign __cond_658 /* 242 */ = 23==__shift_num_634 /* 242 */ ;
assign __mant_sft_624 /* 39 */ = (__shift_num_634<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_635} }&((__mant_623>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_636} }&((__mant_623>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_637} }&((__mant_623>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_638} }&((__mant_623>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_639} }&((__mant_623>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_640} }&((__mant_623>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_641} }&((__mant_623>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_642} }&((__mant_623>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_643} }&((__mant_623>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_644} }&((__mant_623>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_645} }&((__mant_623>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_646} }&((__mant_623>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_647} }&((__mant_623>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_648} }&((__mant_623>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_649} }&((__mant_623>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_650} }&((__mant_623>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_651} }&((__mant_623>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_652} }&((__mant_623>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_653} }&((__mant_623>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_654} }&((__mant_623>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_655} }&((__mant_623>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_656} }&((__mant_623>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_657} }&((__mant_623>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_658} }&((__mant_623>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_625 /* 47 */ = (__sign_620 /* 48 */ )?(~__mant_sft_624 /* 48 */ ):__mant_sft_624 /* 49 */  /* 49 */ ;
assign __norms_632[1] /* 32 */ = (|(__expn_627)) /* 32 */ ;
assign __sign_626 /* 33 */ = __a_2_real_613[31] /* 33 */ ;
assign __expn_627 /* 34 */ = __a_2_real_613[30:23] /* 34 */ ;
assign __mant_629[22:0] /* 35 */ = __a_2_real_613[22:0] /* 35 */ ;
assign __mant_629[23] /* 36 */ = __norms_632[1] /* 36 */ ;
assign __expn_d_628 /* 37 */ = __expn_627+!__norms_632[1] /* 37 */ ;
assign __shift_num_659 /* 38 */ = __expn_aln_633-__expn_d_628 /* 38 */ ;
assign __cond_660 /* 242 */ = 0==__shift_num_659 /* 242 */ ;
assign __cond_661 /* 242 */ = 1==__shift_num_659 /* 242 */ ;
assign __cond_662 /* 242 */ = 2==__shift_num_659 /* 242 */ ;
assign __cond_663 /* 242 */ = 3==__shift_num_659 /* 242 */ ;
assign __cond_664 /* 242 */ = 4==__shift_num_659 /* 242 */ ;
assign __cond_665 /* 242 */ = 5==__shift_num_659 /* 242 */ ;
assign __cond_666 /* 242 */ = 6==__shift_num_659 /* 242 */ ;
assign __cond_667 /* 242 */ = 7==__shift_num_659 /* 242 */ ;
assign __cond_668 /* 242 */ = 8==__shift_num_659 /* 242 */ ;
assign __cond_669 /* 242 */ = 9==__shift_num_659 /* 242 */ ;
assign __cond_670 /* 242 */ = 10==__shift_num_659 /* 242 */ ;
assign __cond_671 /* 242 */ = 11==__shift_num_659 /* 242 */ ;
assign __cond_672 /* 242 */ = 12==__shift_num_659 /* 242 */ ;
assign __cond_673 /* 242 */ = 13==__shift_num_659 /* 242 */ ;
assign __cond_674 /* 242 */ = 14==__shift_num_659 /* 242 */ ;
assign __cond_675 /* 242 */ = 15==__shift_num_659 /* 242 */ ;
assign __cond_676 /* 242 */ = 16==__shift_num_659 /* 242 */ ;
assign __cond_677 /* 242 */ = 17==__shift_num_659 /* 242 */ ;
assign __cond_678 /* 242 */ = 18==__shift_num_659 /* 242 */ ;
assign __cond_679 /* 242 */ = 19==__shift_num_659 /* 242 */ ;
assign __cond_680 /* 242 */ = 20==__shift_num_659 /* 242 */ ;
assign __cond_681 /* 242 */ = 21==__shift_num_659 /* 242 */ ;
assign __cond_682 /* 242 */ = 22==__shift_num_659 /* 242 */ ;
assign __cond_683 /* 242 */ = 23==__shift_num_659 /* 242 */ ;
assign __mant_sft_630 /* 39 */ = (__shift_num_659<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_660} }&((__mant_629>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_661} }&((__mant_629>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_662} }&((__mant_629>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_663} }&((__mant_629>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_664} }&((__mant_629>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_665} }&((__mant_629>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_666} }&((__mant_629>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_667} }&((__mant_629>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_668} }&((__mant_629>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_669} }&((__mant_629>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_670} }&((__mant_629>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_671} }&((__mant_629>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_672} }&((__mant_629>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_673} }&((__mant_629>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_674} }&((__mant_629>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_675} }&((__mant_629>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_676} }&((__mant_629>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_677} }&((__mant_629>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_678} }&((__mant_629>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_679} }&((__mant_629>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_680} }&((__mant_629>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_681} }&((__mant_629>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_682} }&((__mant_629>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_683} }&((__mant_629>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_631 /* 47 */ = (__sign_626 /* 48 */ )?(~__mant_sft_630 /* 48 */ ):__mant_sft_630 /* 49 */  /* 49 */ ;
assign ___s_reg_619[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_633 /* 53 */ ):__s_reg_619[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_619[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_625+__mant_sgn_631+__sign_620+__sign_626 /* 59 */ ):__s_reg_619[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_684 /* 63 */ = __expn_d_628-__expn_d_622 /* 63 */ ;
assign __expn_aln_633 /* 64 */ = (__expn_dif_684[8] /* 65 */ )?(__expn_d_622 /* 66 */ ):__expn_d_628 /* 68 */  /* 67 */ ;
assign __expn_10r_685 /* 70 */ = __s_reg_619[34:27] /* 70 */ ;
assign __mant_10_686 /* 71 */ = __s_reg_619[26:0] /* 71 */ ;
assign __mant_10_abs_687 /* 73 */ = (__mant_10_686[26] /* 74 */ )?(~__mant_10_686 /* 74 */ ):__mant_10_686 /* 75 */  /* 75 */ ;
assign __mant_padded_688 /* 77 */ = { __mant_10_abs_687,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_690 /* 82 */ = !__mant_10_abs_687 /* 82 */ ;
assign __lead_zeros_689 /* 84 */ = (__mant_10_abs_687[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_687[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_691 /* 93 */ = __expn_10r_685+2-__lead_zeros_689 /* 93 */ ;
assign __sum_sign_692 /* 94 */ = __mant_10_686[26] /* 94 */ ;
assign __sum_expn_693 /* 95 */ = (__all_zero_690||__expn_sft_691[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_691[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_691[7:0] /* 98 */  /* 98 */ ;
assign __cond_695 /* 242 */ = 0==__lead_zeros_689 /* 242 */ ;
assign __cond_696 /* 242 */ = 1==__lead_zeros_689 /* 242 */ ;
assign __cond_697 /* 242 */ = 2==__lead_zeros_689 /* 242 */ ;
assign __cond_698 /* 242 */ = 3==__lead_zeros_689 /* 242 */ ;
assign __cond_699 /* 242 */ = 4==__lead_zeros_689 /* 242 */ ;
assign __cond_700 /* 242 */ = 5==__lead_zeros_689 /* 242 */ ;
assign __cond_701 /* 242 */ = 6==__lead_zeros_689 /* 242 */ ;
assign __cond_702 /* 242 */ = 7==__lead_zeros_689 /* 242 */ ;
assign __cond_703 /* 242 */ = 8==__lead_zeros_689 /* 242 */ ;
assign __cond_704 /* 242 */ = 9==__lead_zeros_689 /* 242 */ ;
assign __cond_705 /* 242 */ = 10==__lead_zeros_689 /* 242 */ ;
assign __cond_706 /* 242 */ = 11==__lead_zeros_689 /* 242 */ ;
assign __cond_707 /* 242 */ = 12==__lead_zeros_689 /* 242 */ ;
assign __cond_708 /* 242 */ = 13==__lead_zeros_689 /* 242 */ ;
assign __cond_709 /* 242 */ = 14==__lead_zeros_689 /* 242 */ ;
assign __cond_710 /* 242 */ = 15==__lead_zeros_689 /* 242 */ ;
assign __cond_711 /* 242 */ = 16==__lead_zeros_689 /* 242 */ ;
assign __cond_712 /* 242 */ = 17==__lead_zeros_689 /* 242 */ ;
assign __cond_713 /* 242 */ = 18==__lead_zeros_689 /* 242 */ ;
assign __cond_714 /* 242 */ = 19==__lead_zeros_689 /* 242 */ ;
assign __cond_715 /* 242 */ = 20==__lead_zeros_689 /* 242 */ ;
assign __cond_716 /* 242 */ = 21==__lead_zeros_689 /* 242 */ ;
assign __cond_717 /* 242 */ = 22==__lead_zeros_689 /* 242 */ ;
assign __cond_718 /* 242 */ = 23==__lead_zeros_689 /* 242 */ ;
assign __cond_719 /* 242 */ = 24==__lead_zeros_689 /* 242 */ ;
assign __cond_720 /* 242 */ = 25==__lead_zeros_689 /* 242 */ ;
assign __sum_mant_694 /* 100 */ = (__all_zero_690 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_695} }&((__mant_padded_688[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_696} }&((__mant_padded_688[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_697} }&((__mant_padded_688[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_698} }&((__mant_padded_688[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_699} }&((__mant_padded_688[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_700} }&((__mant_padded_688[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_701} }&((__mant_padded_688[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_702} }&((__mant_padded_688[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_703} }&((__mant_padded_688[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_704} }&((__mant_padded_688[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_705} }&((__mant_padded_688[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_706} }&((__mant_padded_688[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_707} }&((__mant_padded_688[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_708} }&((__mant_padded_688[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_709} }&((__mant_padded_688[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_710} }&((__mant_padded_688[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_711} }&((__mant_padded_688[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_712} }&((__mant_padded_688[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_713} }&((__mant_padded_688[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_714} }&((__mant_padded_688[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_715} }&((__mant_padded_688[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_716} }&((__mant_padded_688[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_717} }&((__mant_padded_688[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_718} }&((__mant_padded_688[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_719} }&((__mant_padded_688[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_720} }&((__mant_padded_688[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_618[31] /* 108 */ = __sum_sign_692 /* 108 */ ;
assign __result_618[30:23] /* 109 */ = __sum_expn_693 /* 109 */ ;
assign __result_618[22:0] /* 110 */ = __sum_mant_694 /* 110 */ ;
assign __sum_real_615 /* 171 */ = (__result_618 /* 111 */ ) /* 171 */ ;
assign __norms_735[0] /* 32 */ = (|(__expn_724)) /* 32 */ ;
assign __sign_723 /* 33 */ = __a_1_imag_612[31] /* 33 */ ;
assign __expn_724 /* 34 */ = __a_1_imag_612[30:23] /* 34 */ ;
assign __mant_726[22:0] /* 35 */ = __a_1_imag_612[22:0] /* 35 */ ;
assign __mant_726[23] /* 36 */ = __norms_735[0] /* 36 */ ;
assign __expn_d_725 /* 37 */ = __expn_724+!__norms_735[0] /* 37 */ ;
assign __shift_num_737 /* 38 */ = __expn_aln_736-__expn_d_725 /* 38 */ ;
assign __cond_738 /* 242 */ = 0==__shift_num_737 /* 242 */ ;
assign __cond_739 /* 242 */ = 1==__shift_num_737 /* 242 */ ;
assign __cond_740 /* 242 */ = 2==__shift_num_737 /* 242 */ ;
assign __cond_741 /* 242 */ = 3==__shift_num_737 /* 242 */ ;
assign __cond_742 /* 242 */ = 4==__shift_num_737 /* 242 */ ;
assign __cond_743 /* 242 */ = 5==__shift_num_737 /* 242 */ ;
assign __cond_744 /* 242 */ = 6==__shift_num_737 /* 242 */ ;
assign __cond_745 /* 242 */ = 7==__shift_num_737 /* 242 */ ;
assign __cond_746 /* 242 */ = 8==__shift_num_737 /* 242 */ ;
assign __cond_747 /* 242 */ = 9==__shift_num_737 /* 242 */ ;
assign __cond_748 /* 242 */ = 10==__shift_num_737 /* 242 */ ;
assign __cond_749 /* 242 */ = 11==__shift_num_737 /* 242 */ ;
assign __cond_750 /* 242 */ = 12==__shift_num_737 /* 242 */ ;
assign __cond_751 /* 242 */ = 13==__shift_num_737 /* 242 */ ;
assign __cond_752 /* 242 */ = 14==__shift_num_737 /* 242 */ ;
assign __cond_753 /* 242 */ = 15==__shift_num_737 /* 242 */ ;
assign __cond_754 /* 242 */ = 16==__shift_num_737 /* 242 */ ;
assign __cond_755 /* 242 */ = 17==__shift_num_737 /* 242 */ ;
assign __cond_756 /* 242 */ = 18==__shift_num_737 /* 242 */ ;
assign __cond_757 /* 242 */ = 19==__shift_num_737 /* 242 */ ;
assign __cond_758 /* 242 */ = 20==__shift_num_737 /* 242 */ ;
assign __cond_759 /* 242 */ = 21==__shift_num_737 /* 242 */ ;
assign __cond_760 /* 242 */ = 22==__shift_num_737 /* 242 */ ;
assign __cond_761 /* 242 */ = 23==__shift_num_737 /* 242 */ ;
assign __mant_sft_727 /* 39 */ = (__shift_num_737<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_738} }&((__mant_726>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_739} }&((__mant_726>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_740} }&((__mant_726>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_741} }&((__mant_726>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_742} }&((__mant_726>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_743} }&((__mant_726>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_744} }&((__mant_726>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_745} }&((__mant_726>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_746} }&((__mant_726>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_747} }&((__mant_726>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_748} }&((__mant_726>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_749} }&((__mant_726>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_750} }&((__mant_726>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_751} }&((__mant_726>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_752} }&((__mant_726>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_753} }&((__mant_726>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_754} }&((__mant_726>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_755} }&((__mant_726>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_756} }&((__mant_726>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_757} }&((__mant_726>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_758} }&((__mant_726>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_759} }&((__mant_726>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_760} }&((__mant_726>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_761} }&((__mant_726>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_728 /* 47 */ = (__sign_723 /* 48 */ )?(~__mant_sft_727 /* 48 */ ):__mant_sft_727 /* 49 */  /* 49 */ ;
assign __norms_735[1] /* 32 */ = (|(__expn_730)) /* 32 */ ;
assign __sign_729 /* 33 */ = __a_2_imag_614[31] /* 33 */ ;
assign __expn_730 /* 34 */ = __a_2_imag_614[30:23] /* 34 */ ;
assign __mant_732[22:0] /* 35 */ = __a_2_imag_614[22:0] /* 35 */ ;
assign __mant_732[23] /* 36 */ = __norms_735[1] /* 36 */ ;
assign __expn_d_731 /* 37 */ = __expn_730+!__norms_735[1] /* 37 */ ;
assign __shift_num_762 /* 38 */ = __expn_aln_736-__expn_d_731 /* 38 */ ;
assign __cond_763 /* 242 */ = 0==__shift_num_762 /* 242 */ ;
assign __cond_764 /* 242 */ = 1==__shift_num_762 /* 242 */ ;
assign __cond_765 /* 242 */ = 2==__shift_num_762 /* 242 */ ;
assign __cond_766 /* 242 */ = 3==__shift_num_762 /* 242 */ ;
assign __cond_767 /* 242 */ = 4==__shift_num_762 /* 242 */ ;
assign __cond_768 /* 242 */ = 5==__shift_num_762 /* 242 */ ;
assign __cond_769 /* 242 */ = 6==__shift_num_762 /* 242 */ ;
assign __cond_770 /* 242 */ = 7==__shift_num_762 /* 242 */ ;
assign __cond_771 /* 242 */ = 8==__shift_num_762 /* 242 */ ;
assign __cond_772 /* 242 */ = 9==__shift_num_762 /* 242 */ ;
assign __cond_773 /* 242 */ = 10==__shift_num_762 /* 242 */ ;
assign __cond_774 /* 242 */ = 11==__shift_num_762 /* 242 */ ;
assign __cond_775 /* 242 */ = 12==__shift_num_762 /* 242 */ ;
assign __cond_776 /* 242 */ = 13==__shift_num_762 /* 242 */ ;
assign __cond_777 /* 242 */ = 14==__shift_num_762 /* 242 */ ;
assign __cond_778 /* 242 */ = 15==__shift_num_762 /* 242 */ ;
assign __cond_779 /* 242 */ = 16==__shift_num_762 /* 242 */ ;
assign __cond_780 /* 242 */ = 17==__shift_num_762 /* 242 */ ;
assign __cond_781 /* 242 */ = 18==__shift_num_762 /* 242 */ ;
assign __cond_782 /* 242 */ = 19==__shift_num_762 /* 242 */ ;
assign __cond_783 /* 242 */ = 20==__shift_num_762 /* 242 */ ;
assign __cond_784 /* 242 */ = 21==__shift_num_762 /* 242 */ ;
assign __cond_785 /* 242 */ = 22==__shift_num_762 /* 242 */ ;
assign __cond_786 /* 242 */ = 23==__shift_num_762 /* 242 */ ;
assign __mant_sft_733 /* 39 */ = (__shift_num_762<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_763} }&((__mant_732>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_764} }&((__mant_732>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_765} }&((__mant_732>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_766} }&((__mant_732>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_767} }&((__mant_732>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_768} }&((__mant_732>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_769} }&((__mant_732>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_770} }&((__mant_732>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_771} }&((__mant_732>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_772} }&((__mant_732>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_773} }&((__mant_732>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_774} }&((__mant_732>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_775} }&((__mant_732>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_776} }&((__mant_732>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_777} }&((__mant_732>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_778} }&((__mant_732>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_779} }&((__mant_732>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_780} }&((__mant_732>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_781} }&((__mant_732>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_782} }&((__mant_732>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_783} }&((__mant_732>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_784} }&((__mant_732>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_785} }&((__mant_732>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_786} }&((__mant_732>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_734 /* 47 */ = (__sign_729 /* 48 */ )?(~__mant_sft_733 /* 48 */ ):__mant_sft_733 /* 49 */  /* 49 */ ;
assign ___s_reg_722[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_736 /* 53 */ ):__s_reg_722[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_722[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_728+__mant_sgn_734+__sign_723+__sign_729 /* 59 */ ):__s_reg_722[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_787 /* 63 */ = __expn_d_731-__expn_d_725 /* 63 */ ;
assign __expn_aln_736 /* 64 */ = (__expn_dif_787[8] /* 65 */ )?(__expn_d_725 /* 66 */ ):__expn_d_731 /* 68 */  /* 67 */ ;
assign __expn_10r_788 /* 70 */ = __s_reg_722[34:27] /* 70 */ ;
assign __mant_10_789 /* 71 */ = __s_reg_722[26:0] /* 71 */ ;
assign __mant_10_abs_790 /* 73 */ = (__mant_10_789[26] /* 74 */ )?(~__mant_10_789 /* 74 */ ):__mant_10_789 /* 75 */  /* 75 */ ;
assign __mant_padded_791 /* 77 */ = { __mant_10_abs_790,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_793 /* 82 */ = !__mant_10_abs_790 /* 82 */ ;
assign __lead_zeros_792 /* 84 */ = (__mant_10_abs_790[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_790[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_794 /* 93 */ = __expn_10r_788+2-__lead_zeros_792 /* 93 */ ;
assign __sum_sign_795 /* 94 */ = __mant_10_789[26] /* 94 */ ;
assign __sum_expn_796 /* 95 */ = (__all_zero_793||__expn_sft_794[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_794[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_794[7:0] /* 98 */  /* 98 */ ;
assign __cond_798 /* 242 */ = 0==__lead_zeros_792 /* 242 */ ;
assign __cond_799 /* 242 */ = 1==__lead_zeros_792 /* 242 */ ;
assign __cond_800 /* 242 */ = 2==__lead_zeros_792 /* 242 */ ;
assign __cond_801 /* 242 */ = 3==__lead_zeros_792 /* 242 */ ;
assign __cond_802 /* 242 */ = 4==__lead_zeros_792 /* 242 */ ;
assign __cond_803 /* 242 */ = 5==__lead_zeros_792 /* 242 */ ;
assign __cond_804 /* 242 */ = 6==__lead_zeros_792 /* 242 */ ;
assign __cond_805 /* 242 */ = 7==__lead_zeros_792 /* 242 */ ;
assign __cond_806 /* 242 */ = 8==__lead_zeros_792 /* 242 */ ;
assign __cond_807 /* 242 */ = 9==__lead_zeros_792 /* 242 */ ;
assign __cond_808 /* 242 */ = 10==__lead_zeros_792 /* 242 */ ;
assign __cond_809 /* 242 */ = 11==__lead_zeros_792 /* 242 */ ;
assign __cond_810 /* 242 */ = 12==__lead_zeros_792 /* 242 */ ;
assign __cond_811 /* 242 */ = 13==__lead_zeros_792 /* 242 */ ;
assign __cond_812 /* 242 */ = 14==__lead_zeros_792 /* 242 */ ;
assign __cond_813 /* 242 */ = 15==__lead_zeros_792 /* 242 */ ;
assign __cond_814 /* 242 */ = 16==__lead_zeros_792 /* 242 */ ;
assign __cond_815 /* 242 */ = 17==__lead_zeros_792 /* 242 */ ;
assign __cond_816 /* 242 */ = 18==__lead_zeros_792 /* 242 */ ;
assign __cond_817 /* 242 */ = 19==__lead_zeros_792 /* 242 */ ;
assign __cond_818 /* 242 */ = 20==__lead_zeros_792 /* 242 */ ;
assign __cond_819 /* 242 */ = 21==__lead_zeros_792 /* 242 */ ;
assign __cond_820 /* 242 */ = 22==__lead_zeros_792 /* 242 */ ;
assign __cond_821 /* 242 */ = 23==__lead_zeros_792 /* 242 */ ;
assign __cond_822 /* 242 */ = 24==__lead_zeros_792 /* 242 */ ;
assign __cond_823 /* 242 */ = 25==__lead_zeros_792 /* 242 */ ;
assign __sum_mant_797 /* 100 */ = (__all_zero_793 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_798} }&((__mant_padded_791[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_799} }&((__mant_padded_791[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_800} }&((__mant_padded_791[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_801} }&((__mant_padded_791[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_802} }&((__mant_padded_791[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_803} }&((__mant_padded_791[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_804} }&((__mant_padded_791[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_805} }&((__mant_padded_791[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_806} }&((__mant_padded_791[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_807} }&((__mant_padded_791[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_808} }&((__mant_padded_791[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_809} }&((__mant_padded_791[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_810} }&((__mant_padded_791[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_811} }&((__mant_padded_791[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_812} }&((__mant_padded_791[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_813} }&((__mant_padded_791[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_814} }&((__mant_padded_791[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_815} }&((__mant_padded_791[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_816} }&((__mant_padded_791[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_817} }&((__mant_padded_791[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_818} }&((__mant_padded_791[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_819} }&((__mant_padded_791[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_820} }&((__mant_padded_791[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_821} }&((__mant_padded_791[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_822} }&((__mant_padded_791[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_823} }&((__mant_padded_791[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_721[31] /* 108 */ = __sum_sign_795 /* 108 */ ;
assign __result_721[30:23] /* 109 */ = __sum_expn_796 /* 109 */ ;
assign __result_721[22:0] /* 110 */ = __sum_mant_797 /* 110 */ ;
assign __sum_imag_616 /* 172 */ = (__result_721 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_617 /* 174 */ = (__ctrl_valid_107 /* 175 */ )?({ __sum_real_615,__sum_imag_616 } /* 176 */ ):__complex_sum_617 /* 178 */  /* 177 */ ;
assign __out_sub_144 /* 551 */ = (__complex_sum_617 /* 180 */ ) /* 551 */ ;
assign __wr_even_addr_59 /* 153 */ = __ctrl_even_addr_108 /* 153 */ ;
assign __wr_odd_addr_61 /* 154 */ = __ctrl_odd_addr_109 /* 154 */ ;
assign __wr_valid_56 /* 155 */ = __ctrl_valid_107 /* 155 */ ;
assign __wr_add_data_60 /* 156 */ = __out_add_143 /* 156 */ ;
assign ___wr_sub_data_62 /* 157 */ = __out_sub_144 /* 157 */ ;
assign __rd_even_addr_52 /* 160 */ = __t_46 /* 160 */ ;
assign __rd_odd_addr_54 /* 161 */ = __t_47 /* 161 */ ;
assign __rd_valid_49 /* 162 */ = __t_43 /* 162 */ ;
assign __t_44 /* 163 */ = __rd_ready_50 /* 163 */ ;
assign __t_45 /* 164 */ = __rd_grant_51 /* 164 */ ;
assign __t_46 /* 165 */ = __decode_even_addr_73 /* 165 */ ;
assign __t_47 /* 166 */ = __decode_odd_addr_74 /* 166 */ ;
assign __t_43 /* 167 */ = __decode_valid_72 /* 167 */ ;
assign sram__0__valid /* 170 */ = __sram_valid_115 /* 170 */ ;
assign sram__0__we_n /* 171 */ = __we_n_117 /* 171 */ ;
assign sram__0__addr /* 172 */ = __waddr_118 /* 172 */ ;
assign sram__0__wdata /* 173 */ = __wdata_119 /* 173 */ ;
assign __sram_ready_116 /* 174 */ = sram__0__ready /* 174 */ ;
assign __rdata_120 /* 175 */ = sram__0__rdata /* 175 */ ;
assign ___cell_idx_824 /* 194 */ = (__decode_valid_72 /* 215 */ )?((0 /* 187 */ ) /* 216 */ ):((1 /* 191 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__valid /* 195 */ = (__decode_valid_72 /* 215 */ )?((1'b1 /* 185 */ ) /* 216 */ ):((0 /* 189 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__addr /* 196 */ = (__decode_valid_72 /* 215 */ )?((__get_exp_valid_76 /* 186 */ ) /* 216 */ ):((0 /* 190 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__we_n /* 197 */ = 1 /* 197 */ ;
assign ___exp_sram_dly_825 /* 200 */ = exp_sram__ready /* 200 */ ;
assign ___r_48 /* 203 */ = (__exp_sram_dly_825&&__cell_idx_824==0 /* 204 */ )?(exp_sram__rdata /* 205 */ ):__r_48 /* 207 */  /* 206 */ ;
//register update logic
always_comb begin /* 138 */ 
  ___mult_result_168=__mult_result_168;
  if(__result_factor_165[47:46]==2'b01&&__ctrl_valid_91) begin  /* 139 */ 
  ___mult_result_168 /* 140 */ = { __result_sign_162,__result_exp_163[7:0],__valid_factor_norm_166 } /* 140 */ ;
  end
  else if(__result_factor_165[47]==1'b1&&__ctrl_valid_91) begin  /* 141 */ 
  ___mult_result_168 /* 142 */ = { __result_sign_162,__exp_add1_164[7:0],__valid_factor_shift_167 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_175=__mult_result_175;
  if(__result_factor_172[47:46]==2'b01&&__ctrl_valid_91) begin  /* 139 */ 
  ___mult_result_175 /* 140 */ = { __result_sign_169,__result_exp_170[7:0],__valid_factor_norm_173 } /* 140 */ ;
  end
  else if(__result_factor_172[47]==1'b1&&__ctrl_valid_91) begin  /* 141 */ 
  ___mult_result_175 /* 142 */ = { __result_sign_169,__exp_add1_171[7:0],__valid_factor_shift_174 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_182=__mult_result_182;
  if(__result_factor_179[47:46]==2'b01&&__ctrl_valid_91) begin  /* 139 */ 
  ___mult_result_182 /* 140 */ = { __result_sign_176,__result_exp_177[7:0],__valid_factor_norm_180 } /* 140 */ ;
  end
  else if(__result_factor_179[47]==1'b1&&__ctrl_valid_91) begin  /* 141 */ 
  ___mult_result_182 /* 142 */ = { __result_sign_176,__exp_add1_178[7:0],__valid_factor_shift_181 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_189=__mult_result_189;
  if(__result_factor_186[47:46]==2'b01&&__ctrl_valid_91) begin  /* 139 */ 
  ___mult_result_189 /* 140 */ = { __result_sign_183,__result_exp_184[7:0],__valid_factor_norm_187 } /* 140 */ ;
  end
  else if(__result_factor_186[47]==1'b1&&__ctrl_valid_91) begin  /* 141 */ 
  ___mult_result_189 /* 142 */ = { __result_sign_183,__exp_add1_185[7:0],__valid_factor_shift_188 } /* 142 */ ;
  end
end

//cell instance
endmodule
